如果在查询返回的文档字段数组中存在ObjectId,则填充布尔variables

所以我有一个用户模型和一个Post模型。 用例就是用户可以喜欢post。

Post Schema conatins我已经命名为“likers”的ObjectID数组(像post这样的用户对象)

我想编写一个查询返回所有post,但每个post都有一个额外的“喜欢”字段,是基于如果login用户objectid是在“相似”arrays的布尔值。

我正在尝试的代码:

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)); }); 

事实certificate,我是保存错误的ID给同志arrays,Doh