プラグインで使用node.js
しています。mongoose
必要なのは、次のようなクエリを使用して単一のドキュメントを選択することだけです。
{
_id: '52261c53daa9d6b74e00000c',
someAdditionalFlag: 156
}
成功した場合にのみ、そのフラグを別の値に変更します。さらに、検索および変更操作はアトミックである必要があります。Mongooseを使用してそれを達成する方法を教えてください。
findAndModify
元のドキュメントは必要ないため、これを使用する必要はありません。update
したがって、次のように使用できます。
MyModel.update({
_id: '52261c53daa9d6b74e00000c',
someAdditionalFlag: 156
}, {
$set: {someAdditionalFlag: newValue }
},
function(err, numAffected) { ... });
コールバックでnumAffected
は、変更が行われた場合は 1、それ以外の場合は 0 になります。