【问题标题】:I'm using findOne then updating the one document I get but I wanna use a find so that I can find all the documents and then updating them all我正在使用 findOne 然后更新我得到的一个文档,但我想使用 find 以便我可以找到所有文档,然后将它们全部更新
【发布时间】:2022-01-07 12:43:22
【问题描述】:

这里的问题是我只用给定的电子邮件更新第一个文档,但我想用这封电子邮件更新他找到的所有电子邮件,所以我想使用 find() 但我不知道该写什么更新找到的所有文档


router.route("/Updateinfo").post((req, res) => {
  console.log("updateinfo");
 console.log(email);
 const z = req.body.Name;
 const d = req.body.Password;
 const s = req.body.Email;
 const v = req.body.Type;
 console.log(z);
if(v!="admin"){
 User.findOne({Email: email}, function (err, user) {
  user.Name = z;
  user.Password = d;
  user.Email = s;
  user.Type = v;

 
  user.save(function (err) {
      if(err) {
          console.error('ERROR!');
      }
  });
});

【问题讨论】:

标签: node.js express mongoose mern


【解决方案1】:

如果您想用相同的数据更新与相同查询匹配的多个文档,则需要使用updateMany

https://mongoosejs.com/docs/api.html#model_Model.updateMany

【讨论】:

  • 你能告诉我如何使用 updatemany 执行我正在做的事情,因为我一直在尝试它,但它总是失败,提前谢谢你
  • User.updateMany({ Email: email }, { $set: { Name: z }})
猜你喜欢
  • 1970-01-01
  • 2014-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-04
  • 2016-03-12
相关资源
最近更新 更多