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

mongodbのデータを更新できません

    update ステートメントが正しくない、引数が間違っている-複数の $set 更新メソッドのさまざまなパラメーターとしての操作とオプション。それらは、個別に指定された更新パラメーターの下にある必要があります。正しいNode.js構文 は:

    update(selector, document, options, callback)
    

    ここでselector 更新操作のセレクター/クエリであるオブジェクト、document は、更新ドキュメントであり、最後にoptionsであるオブジェクトでもあります。 デフォルトでnullであり、オプションの更新設定を持つオブジェクト。

    ここでやっています

    update(selector, document, selector, document, options, options, callback)
    

    どのmongoが最初の2つのパラメーターを正しいものとして使用してコレクションを更新していて、当然エラーをスローします

    指定された誤ったパラメータが多すぎるためです。

    また、位置演算子の使い方が間違っています。クエリではなく、更新するドキュメントの一部である必要があります。

    正しい実装については、この更新に従ってください

    db.getCollection('profiles').update(
        /* selector  */
        {
            "_id": ObjectId("57a9aa24e93864e02d91283c"),
            "ratings.round": 1
        }, 
        /* update document */
        {
            "$set": {
                "presentRound": 2,
                "interviewStatus": "in process",
                "scheduleInterviewStatus": false,
                "ratings.$.roundStatus": "selected"    
            }
        },
        /* optional settings */
        { upsert: true, multi: true }
    )
    


    1. SpringDataMongoDB-カスタムIDフィールドで使用している間はアノテーション@CreatedDateが機能しません

    2. Spring Data RedisTemplate:値とHashValueのシリアル化

    3. 集約をサポートするdbバージョン>3.6があるにもかかわらず、dateFromString:'format'に対する認識されない引数を取得するのはなぜですか

    4. MongoDB:クラスjava.lang.Doubleをクラスjava.lang.Longにキャストできません