最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何查找然后更新用户记录MongoMongoose

运维笔记admin9浏览0评论

如何查找然后更新用户记录Mongo / Mongoose

如何查找然后更新用户记录Mongo / Mongoose

运行此代码时,我正在获取user.update不是一个函数。我一直无法在线找到优质的mongo / mongoose文档。

  //Add Event
  app.post("/addEvent", (req, res, next) => {
    const event = req.body.event;
    console.log(req.user.id);
    console.log(event);
    User.find({ _id: req.user.id }, function(err, user) {
      if (err) {
        console.log(err);
        return next(err);
      }
      if (user) {
        user.update(
          {
            _id: req.user.id
          },
          {
            $push: { events: event }
          }
        );
      }
      res.end();
    });
  });
};```
回答如下:

[尝试一下,我想它可能会对您有所帮助。

  app.post("/addEvent", (req, res, next) => {
    const event = req.body.event;
    console.log(req.user.id);
    console.log(event);
    User.findById({ req.user.id }, async function(err, user) {
      if (err) {
        console.log(err);
        return next(err);
      }
      if (user) {
        User.updateOne(
          {
            _id: req.user.id
          },
          {
            $push: { events: event }
          }
        );
      }
      res.end();
    });
  });
};

我还建议您在需要使用findByIdAndUpdate或findOneAndUpdate时使用必要的选项。还是用findOne而不是find,因为find返回的是[数组]文档,而不是一个文档,因此,如果您要像这样使用async/await

const docs = Users.find(query,callback)

它们访问必要文档的唯一方法是docs[n],其中n是结果数组中的文档数。

发布评论

评论列表(0)

  1. 暂无评论