正确的方式使用.populate()mongodb Node.js

我正在尝试在我的评论部分中将每个评论附加完整的用户模型。 由于mongodb没有连接,我一直在试图找出如何使用.populate()从控制器添加用户对象。 据我所知,使用填充函数只有两件事你必须做的。

  1. 在模型中定义一个ref。
  2. 在定义了ref的字段的名称上调用.populate()。

我已经将模型中的ref定义为“用户”模型:

var commentSchema = new mongoose.Schema({ author: { type: String, ref: 'User' }, description: String, commentID: String, hasParent: String, parentComment: String, timestamp: { type: Number, default: 0 }, }); 

然后我试图将用户模型添加到注释对象中的作者字段:

 Comment .find() .populate('author') .exec(function (err, comments) { console.log(comments); }); 

有没有我失踪的一步? 我希望在每个评论的作者字段中看到所有的用户对象的评论。

解决scheme是从MongoDB中删除评论集合。 开始新鲜,它按预期工作。 如果有人遇到类似的问题,请尝试删除在向模型中添加引用之前创build的对象的集合。