注:
- v
3.6
の場合 直接更新するオプションはありません。最初にコードを読み取って処理してから、更新する必要があります。 - v
>= 4.2
の場合 として、1回の呼び出しで実行できます。 .update() 集約パイプラインを受け入れ、DBへの1回の更新呼び出しで処理を実行できます。これを試すことができます:
クエリ:
db.getCollection('collectionName').update({}, [{ $set: { b: { $multiply: ["$a", 2] } } }])