NodeJS map()函数通过执行一些DB操作返回新对象并返回操作结果

时间:2018-06-17 16:33:07

标签: javascript jquery node.js mongodb asynchronous

我正在使用节点js / MongoDB来获取所有帖子并检查用户是否已经喜欢这个特定帖子如果喜欢然后添加一个键" isLiked"在每个对象中。但无法做到这一点。

Post.find().exec(function(err, posts) {
  if (err) {
    return res.status(500).json({ message: err.message });
  }

  var result = posts.map(isLiked(req.user));

  console.log(result);
  return res
    .status(200)
    .json({ message: "Successfully fetch all posts", result: result });
});

var isLiked = function(user) {
  return function(x) {
    var o = Object.assign({}, x);
    o.isLiked = Post.find(
      {
        _id: x._id,
        likes: user
      },
      function(err, isliked) {
        if (isliked != "") {
          return 1
        } else {
          return 0;
        }
      }
    );
    return o;
  };
};

0 个答案:

没有答案