正确的方式使用.populate()mongodb Node.js
我正在尝试在我的评论部分中将每个评论附加完整的用户模型。 由于mongodb没有连接,我一直在试图找出如何使用.populate()从控制器添加用户对象。 据我所知,使用填充函数只有两件事你必须做的。
- 在模型中定义一个ref。
- 在定义了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的对象的集合。
- 在javascript中维护for循环中的http请求的顺序
- Node.js – 发送一个大对象到child_process很慢
- 如何使用Node JS和mssql切换连接
- 基本meteorasynchronous概念:提交电子邮件和发送电子邮件
- Node / NPM / Grunt在jscs上失败(grunt-jscs)
- 使用loopback-connector-remote在另一个回送服务中调用自定义方法不会创build正确的URL
- WebPush UnauthorizedRegistration 400尝试从节点Js发送推送通知时出错
- 脚本工作,但不是与node.js
- Mongodb返回填充对象,但保存清空一些字段