Zuerst schlage ich vor, dass Sie mit einer Abfrage zum Auffüllen gehen, wenn Sie der Meinung sind, dass Auffüllen Ihnen keine Daten liefert, die Sie benötigen, können Sie zwei Abfragen ausführen und diese Ergebnisse zusammenführen.
für populate fand ich die lösung aus dem offiziellen doc von mongoose. du kannst das so machen.
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 ist der Doc-Link:http://mongoosejs.com/docs/populate.html