由于某种原因,我无法使用猫鼬(5.8.10)中的updateMany
更新文档中的属性。这是我的查询:
Booking.updateMany({ sessionId }, { "isPaid": true } );
开头sessionId
以上的文档将isPaid
标志设置为false。现在,我想在所有这些文档中将此标志切换为false。但是,这不会更新属性。
答案 0 :(得分:0)
看来没有回调就无法正常工作
Booking.updateMany({ sessionId }, { "isPaid": true }, null, (error, res) => {
if(error) {
console.log("Something went wrong when updating data!");
}
});
答案 1 :(得分:0)
问题是Booking.updateMany({ sessionId }, { "isPaid": true } );
不执行对数据库的请求。这是一个随时可以执行的查询。您可以通过将回调作为第三个参数传递或使用.then()
语法来实现。
回调变体:
Booking.updateMany({ sessionId }, { "isPaid": true }, (err, data) => {
...
});
然后变体:
Booking.updateMany({ sessionId }, { "isPaid": true })
.then(data => {})
.catch(err => {})
来源:(doc)