sql >> データベース >  >> NoSQL >> MongoDB

MongoDB:1つのコマンドで複数のドキュメントを更新するにはどうすればよいですか?

    マルチアップデートが最近追加されたため、開発リリース(1.1.3)でのみ使用できます。シェルから、trueを渡すことでマルチアップデートを実行します update()の4番目の引数として 、3番目の引数はupsert引数です:

    db.test.update({foo: "bar"}, {$set: {test: "success!"}}, false, true);
    

    mongodb 2.2以降のバージョンでは、一度に複数のドキュメントを更新するには、オプションmultitrueを設定する必要があります。

    db.test.update({foo: "bar"}, {$set: {test: "success!"}}, {multi: true})
    

    mongodb 3.2以降のバージョンでは、新しいメソッドupdateMany()を使用することもできます 個別のmultiを必要とせずに、一度に複数のドキュメントを更新する オプション。

    db.test.updateMany({foo: "bar"}, {$set: {test: "success!"}})
    


    1. 大規模なETAを使用したセロリタスクのスケジューリング

    2. arrayFiltersを使用してMongoDBのネストされたサブドキュメントを更新します

    3. MongoObjectIdをシリアル化するときにJSON.NETキャストエラー

    4. 127.0.0.1:6379でRedisに接続できませんでした:接続が自作で拒否されました