【问题标题】:Find all users and update them at once查找所有用户并立即更新
【发布时间】:2018-02-19 20:55:36
【问题描述】:

有没有办法找到所有用户并同时更新他们?

此代码适用于 findOneAndUpdate 或 findByIdAndUpdate,但仅从一个用户中删除记录。

我需要同时从所有用户中删除“topicsfollowed”中与 (req.params.id) 匹配的对象。

提前致谢。

User.find({}, { $pull: {topicsfollowed: req.params.id}}, function (err){
    if (err) {
        console.log(err);
        res.render('index.ejs', { errors:errors });
      }
      res.send('Success')
  })

【问题讨论】:

    标签: node.js express mongoose


    【解决方案1】:

    注意

    1) {multi:true} 更新 mongoose 中的多个文档。

    2) 使用更新查询更新多个文档,如果您正在使用 findOneAndUpdate 查询只会更新一条记录。

     User.update({},{$pull: {topicsfollowed:req.params.id}},{multi: true}, function(err, result) {
    
    })
    

    【讨论】:

    • 难以置信。我之前有 {multi: true} 但收到错误(与 {multi: true} 无关)并将其删除。非常感谢。这会从用户那里删除记录
    猜你喜欢
    • 2019-10-23
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 2023-04-03
    • 2017-05-24
    • 1970-01-01
    • 2020-11-10
    • 2013-01-06
    相关资源
    最近更新 更多