我遇到的情况是我必须更新两个文件或者没有更新,如何用mongo实现这样的行为?
// nodejs mongodb driver
Bus.update({
"_id": { $in: [ObjectId("abc"), ObjectId("def")] },
"seats": { $gt: 0 }
}, {
$inc: { "seats": -1 }
}, { multi: true }, function(error, update) {
assert(update.result.nModified === 2)
})
即使只有一条总线匹配,上面代码的问题也会更新。在我的情况下,我尝试在两个方向预订公交车票,如果至少有一个已经完全预订,则应该失败。
谢谢