Trước tiên, tôi khuyên bạn nên đi với một truy vấn điền, nếu bạn cảm thấy rằng việc điền đó không cung cấp cho bạn dữ liệu mà bạn cần, bạn có thể chạy hai truy vấn và hợp nhất các kết quả đó.
cho dân cư, tôi đã tìm thấy giải pháp từ tài liệu chính thức của mongoose. bạn có thể làm như thế này.
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"
});
đây là liên kết doc: http://mongoosejs.com/docs/populate.html