所以我有一个User模型和一个Post模型。用例是用户可以喜欢帖子。
Post Schema包含我已经命名为#34; likers"的ObjectID数组。 (喜欢发帖的用户对象)
我想写一个返回所有帖子的查询,但每个帖子都有一个额外的"喜欢"基于用户objectid登录的布尔值的字段是" likers"阵列。
我正在尝试的代码:
router.get("/posts", function(req, res, next) {
Posts.find({})
.then(posts => {
posts = posts.map(post => {
// How to write this so it works
// test if req.user._id in likers which is Schema type [ObjectID]
post.liked = req.user && (post.likers.indexOf(req.user._id) > -1);
return post;
});
res.json(posts);
})
.catch(errorHandler(res));
});
答案 0 :(得分:1)
事实证明我将错误的id保存到了likers数组,Doh