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

mongodbは、ドキュメントの更新中にifelseを使用してフィールド値を設定します

    MongoDBは、探している種類の条件付き更新をサポートしていません。ただし、検索、ループ、保存のアプローチを使用するよりも優れた方法を実行できます。

    条件チェックをupdateに移動します セレクターを照会し、{multi: true}を使用して2つの更新(各ケースに1つ)を発行します 一致したすべてのドキュメントに更新を適用します。

    // Start with the "if" update
    Documents.update(
        {some_condition: true, "some field": "some condition"}, 
        {$set: {"status": "value 1"}},
        {multi: true},
        function(err, numAffected) {
            // Now do the "else" update, using $ne to select the rest of the docs
            Documents.update(
                {some_condition: true, "some field": {$ne: "some condition"}}, 
                {$set: {"status": "value 2"}},
                {multi: true},
                function(err, numAffected) {
                    // All done.
                }
            )
        }
    )
    


    1. Redis:n個のネイバーキーを並べ替えて取得する

    2. Spring Data MongoDB-Mongoコレクションのインデックスをプログラムで作成する場所はどこですか?

    3. オブジェクトコレクションから特定の配列を返します

    4. Spring Data Mongo-継承されたPOJOエンティティをマッピングする方法は?