Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我用node.js插件mongoose。我所需要的只是尝试选择一个带有如下查询的文档:
node.js
mongoose
{ _id: '52261c53daa9d6b74e00000c', someAdditionalFlag: 156 }
并且当且仅当它成功时,将该标志更改为另一个值。此外,查找和修改操作需要是原子的。请问,如何使用 Mongoose 实现这一目标?
您不需要使用findAndModify它,因为您不需要原始文档。所以你可以update像这样使用:
findAndModify
update
MyModel.update({ _id: '52261c53daa9d6b74e00000c', someAdditionalFlag: 156 }, { $set: {someAdditionalFlag: newValue } }, function(err, numAffected) { ... });
在回调中,numAffected如果进行了更改,则为 1,否则为 0。
numAffected