Ten eerste raad ik je aan om met een populate-query te gaan, als je denkt dat de populate je geen gegevens geeft die je nodig hebt, kun je twee query's uitvoeren en die resultaten samenvoegen.
voor bevolken, vond ik de oplossing van het officiële document van mangoest. je kunt het zo doen.
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
title : String,
fans : [{ type: Number, ref: 'Person' }]
});
var Story = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);
Story
.findOne({ title: 'Once upon a timex.' })
.populate('_creator')
.exec(function (err, story) {
if (err) return handleError(err);
console.log('The creator is %s', story._creator.name);
// prints "The creator is Aaron"
});
hier is de doc-link:http://mongoosejs.com/docs/populate.html