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);
        }
    });

该查询正在更新文档,但它正在删除联系人。如何保持原样?非常感谢您的帮助。

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 回答
1
collection.update({USER_ID: req.body.USER_ID}, {$set: {"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);
    }
});
于 2015-11-23T13:44:20.027 回答