2

以下のドキュメントを含むmongodbコレクションがあります

{
    "_id" : ObjectId("5652f7e1a9fddf438369c866"),
    "USER_ID" : "Vinsy",
    "USER_NAME" : "Vinsy",
    "FIRST_NAME" : "XYZxx",
    "LAST_NAME" : "ABC",
    "CONTACTS"  :[]
}

以下のクエリでドキュメントを更新しようとしています

collection.update({
        USER_ID: req.body.USER_ID
    },{
        "USER_ID" : "Vinsy",
        "USER_NAME" : "Vinsy",
        "FIRST_NAME" : "XYZxx",
        "LAST_NAME" : "ABC",
    }, function(error, data) {

        try {
            if (data) {
                res.json("SUCCESS");
            } else {
                res.json("FAILURE" + error);
            }
        } catch (e) {
            res.json("FAILURE" + e);
        }
    });

クエリはドキュメントを更新していますが、CONTACTS を削除しています。そのままにしておく方法は?本当にありがとうございました。

4

2 に答える 2

2

演算子を指定する必要があります$set。オペレーターは$set、新しいドキュメントで上書きするのではなく、ドキュメント内の特定のフィールドを更新することを MongoDB に指示します。

collection.update({
        USER_ID: req.body.USER_ID
   },
   { $set:
     {
       "USER_ID" : "Vinsy",
       "USER_NAME" : "Vinsy",
       "FIRST_NAME" : "XYZxx",
       "LAST_NAME" : "ABC",
     }
   } 
于 2015-11-23T13:36:48.993 に答える