Først foreslår jeg, at du går med en udfyldningsforespørgsel, hvis du føler, at udfyldning ikke vil give dig de data, du har brug for, kan du køre to forespørgsler og flette disse resultater.
for populate, jeg fandt løsningen fra den officielle doc of mongoose. du kan gøre sådan her.
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"
});
her er et dokumentlink:http://mongoosejs.com/docs/populate.html