【发布时间】:2014-05-02 04:06:55
【问题描述】:
我是 Node+Mongoose 的新手,目前正在使用 KeystoneJS 创建 API。我已经设法用作者的电子邮件和姓名填充所有帖子。我的问题是,有没有办法用作者每次填充帖子,可能使用一些中间件,而不必在我检索帖子的每个方法中重写它?我的目标是不要在代码中散布多个populate('author', 'email name') 实例。例如,将来,我还想包含作者的个人资料照片网址,并且我希望能够在一个地方进行更改,然后将反映在我检索帖子的每个地方.
当前实现:
Post.model.find().populate('author', 'email name').exec(function (err, posts) {
if (!err) {
return res.json(posts);
} else {
return res.status(500).send("Error:<br><br>" + JSON.stringify(err));
}
});
Post.model.findById(req.params.id).populate('author', 'email name').exec(function (err, post) {
if(!err) {
if (post) {
return res.json(post);
} else {
return res.json({ error: 'Not found' });
}
} else {
return res.status(500).send("Error:<br><br>" + JSON.stringify(err));
}
});
【问题讨论】:
标签: node.js express mongoose keystone