我正在尝试将完整的用户模型附加到我的评论部分中的每个评论。由于mongodb没有连接,我一直试图弄清楚如何使用.populate()从控制器添加用户对象。据我了解,使用populate函数只需要做两件事。
我已将模型中的参考定义为'用户'模型:
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);
});
我缺少一步吗?我希望在每条评论的作者字段中看到完整用户对象的所有评论。
答案 0 :(得分:2)
解决方案是从mongodb删除评论集合。从新鲜开始它按预期工作。如果有人遇到类似问题,请尝试删除在将ref添加到模型之前创建的对象集合。
答案 1 :(得分:0)
请考虑进行以下更改。
author: { type: String, ref: 'User' };
authot: { type: Schema.Types.ObjectId, ref:'User'};