Bạn có thể thực hiện việc này bằng cách nhập ảo, được giới thiệu trong phiên bản mongoose 4.5. Để làm được điều đó, bạn cần xác định một trường ảo trong lược đồ mongoose.
var GallerySchema = new mongoose.Schema({
name: String,
objectId: {
type: mongoose.Schema.Types.ObjectId
},
});
GallerySchema.virtual('user', {
ref: 'User',
localField: 'objectId',
foreignField: '_id'
});
Trả lời khi bạn chạy truy vấn tìm kiếm, chỉ cần điền nó với người dùng.
Gallry.find({_id: galleryId}).populate('user','firstName lastName').exec(function(error, gallery) {
console.log(error);
console.log(gallery);;
});
Đoạn mã trên không được kiểm tra trong chương trình, có thể có lỗi chính tả, Bạn có thể biết thêm chi tiết về dân cư ảo mongoose ở liên kết dưới đây
http://mongoosejs.com/docs/populate.html