1

プラグインで使用node.jsしています。mongoose必要なのは、次のようなクエリを使用して単一のドキュメントを選択することだけです。

{
  _id: '52261c53daa9d6b74e00000c',
  someAdditionalFlag: 156
}

成功した場合にのみ、そのフラグを別の値に変更します。さらに、検索および変更操作はアトミックである必要があります。Mongooseを使用してそれを達成する方法を教えてください。

4

1 に答える 1

3

findAndModify元のドキュメントは必要ないため、これを使用する必要はありません。updateしたがって、次のように使用できます。

MyModel.update({
  _id: '52261c53daa9d6b74e00000c',
  someAdditionalFlag: 156
}, {
  $set: {someAdditionalFlag: newValue }
},
function(err, numAffected) { ... });

コールバックでnumAffectedは、変更が行われた場合は 1、それ以外の場合は 0 になります。

于 2013-09-03T18:24:49.580 に答える