我将node.js
与mongoose
插件一起使用。我需要做的就是尝试通过查询选择单个文档:
{
_id: '52261c53daa9d6b74e00000c',
someAdditionalFlag: 156
}
并且仅当成功时,才将该标志更改为另一个值。而且,查找和修改操作必须是原子的。拜托,如何用猫鼬来实现呢?
最佳答案
您不需要使用findAndModify
,因为您不需要原始文档。因此,您可以像这样使用update
:
MyModel.update({
_id: '52261c53daa9d6b74e00000c',
someAdditionalFlag: 156
}, {
$set: {someAdditionalFlag: newValue }
},
function(err, numAffected) { ... });
在回调中,如果进行更改,
numAffected
将为1,否则为0。关于node.js - Mongoose 和findAndModify,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18598624/