有条件地使用猫鼬更新许多人

时间:2020-06-28 00:11:31

标签: reactjs mongodb mongoose

我正在尝试使用Mongoose更新MondoDB数据库中的所有文档。我知道这个问题被问过很多次,但不是以我需要的方式回答。我正在使用4.2版

我正在尝试updateMany收集的所有文档都比现在少了dueDate。此呼叫将与每个.get呼叫断开。

文档示例:

_id: ***************
reaccurance:
  Array0:
    "Daily"
status:
  Array0:
    "new"
dueDate: 2020-06-25T06:00:00.000+00:00
...

Service.js 到目前为止,这是我尝试过的方法。。。我以前从未使用过updateMany,而且此处的文档也不太清楚。

 exports.setStatus = function(req, res) {
  Chore.updateMany({
    dueDate: { $gt: moment().format("X")},
  }, 
  {"$set": {"status": "pastDue"}}, function(err, chore) {
    if(err)
      res.send(err)
    res.json({
      message: 'Chores Updated Successfully',
      data: chore
    })
  });
}

文档prop status是一个只有1个字符串类型的元素和new当前值的箭头,我的通话目的是检查每个文档以及它的dueDate是否过去now()将其统计信息更新为pastDue

1 个答案:

答案 0 :(得分:0)

exports.setStatus = function(req, res) {
  Chore.updateMany({
    dueDate: { $lt: moment()},
  }, 
  {
    "$set": {"status": "pastDue"}
  }, 
  function(err, chore) {
    if(err)
      res.send(err)
    res.json({
      message: 'Chores Updated Successfully',
      data: chore
    })
  });
}