Pertama, saya sarankan Anda menggunakan kueri populasi, jika Anda merasa populasi tidak akan memberikan data yang Anda perlukan, Anda dapat menjalankan dua kueri dan menggabungkan hasil tersebut.
untuk mengisi, saya menemukan solusi dari dokumen resmi luwak. Anda dapat melakukan seperti ini.
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"
});
di sini adalah tautan dokumen:http://mongoosejs.com/docs/populate.html