我正在尝试使用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
答案 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
})
});
}