【发布时间】:2017-12-26 14:08:02
【问题描述】:
我正在开发一个使用 mongodb 的 express 应用程序。我编写了代码以使用运行良好的保存方法插入和更新数据。
工作代码
dbconnect.collection('profiles').save(data, function (err, result) {
if (err)
return res.send({ success: false, message: "Error saving into database" });
result = JSON.parse(JSON.stringify(result));
if (_.isEmpty(result) || !result.ok)
return res.send({ success: false, message: "Unidentified error." })
return res.send({ success: true });
});
如果我更新数据,则整个文档都会更新。是的,正如它所说。但我想省略一个字段。
假设我的领域是
username, password, email, postal_address
如果我在没有 _id 的情况下通过,它会创建一个新的 _id 并插入文档。
如果用户尝试更新邮政地址,它会删除密码,因为数据不包含密码字段。这就像重写整个文档。
由于代码已经编写完毕,我不想将代码分成插入和更新两部分,我正在寻找一种方法可以使用 save 本身更新部分文档。
希望我把我的问题说清楚了。
【问题讨论】:
-
您也可以将
update与upsert选项一起使用,所以它仍然只是一步。 -
解释了here
-
我终于拆分了我的代码。感谢您的时间和更新
标签: mongodb