【发布时间】:2016-10-29 08:24:51
【问题描述】:
我遇到了以下我无法理解的代码行,尽管有很多教程提供了与 populate 示例相关的信息,但没有一个可以解释它的确切含义。这是一个示例
var mongoose = require('mongoose'), Schema = mongoose.Schema
var PersonSchema = new Schema({
name : String,
age : Number,
stories : [{ type: Schema.ObjectId, ref: 'Story' }]
});
var StorySchema = new Schema({
_creator : {
type: Schema.ObjectId,
ref: 'Person'
},
title : String,
fans : [{ type: Schema.ObjectId, ref: 'Person' }]
});
var Story = mongoose.model('Story', StorySchema);
var Person = mongoose.model('Person', PersonSchema);
Story.findOne({ title: /Nintendo/i }).populate('_creator') .exec(function (err, story) {
if (err) ..
console.log('The creator is %s', story._creator.name);
// prints "The creator is Aaron"
})
【问题讨论】:
-
Populate 一般用于在查询mongoosejs.com/docs/2.7.x/docs/populate.html时填充引用对象属性
标签: mongoose mongoose-populate