关于mongoose populate的返回值的问题

WEB松
  • 40
Story
.findOne({ title: 'Bob goes sledding' })
.populate('author')
.exec(function (err, story) {
  if (err) return handleError(err);
  console.log('The author is %s', story.author.name);
  // prints "The author is Bob Smith"
});

这里我们已知一本书只有一个作者,所以在给予作者ID的时候不是这样写schema的
[{ type: Schema.Types.ObjectId, ref: 'Author' }]


var storySchema = Schema({
  author : { type: Schema.Types.ObjectId, ref: 'Author' },
  title    : String
});

假设先在一本书有多个作者,把schema改成

var storySchema = Schema({
  author : [{ type: Schema.Types.ObjectId, ref: 'Author' }],
  title    : String
});

那么当我执行下面代码时, 返回函数里的story.author 是一个含有作者的数组吗?

Story
.findOne({ title: 'Bob goes sledding' })
.populate('author')
.exec(function (err, story) {
  if (err) return handleError(err);
  console.log('The author is %s', story.author.name);
  // prints "The author is Bob Smith"
});
回复
阅读 1.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏