【发布时间】:2016-11-10 22:39:03
【问题描述】:
我正在尝试更新单键值数组对象 在 MongoDB 集合中。但它使用单个键值更新所有值。
MongoDB 中以前的 Json 数据
result: [
{
"firstname": A,
"lastname": B,
"age": 5
}
]
"_id" : "582187d461cc8230bf0aba03"
我在做什么我正在更新单个键值 我只想更新单个键值 名字:A 到 D,我需要所有剩余的值必须相同(持久)。 但已更改,仅更新了单个键值对。
{
result: [
{
"first name": A
}
]
"_id" : "582187d461cc8230bf0aba03"
}
姓氏和年龄都消失了。我正在使用 node js 来更新集合。
使用这个脚本
var query = {"_id" : "582187d461cc8230bf0aba03"};
var arr = [];
userObj = {
firstname : B
};
arr.push(userObj);
update = {
result : arr
};
var = options = {new : true, upsert : true};
user.findOneAndUpdate(query, update, options, function(err, result) {
if(err);
console.log(err);
res.send(result);
}
有任何命令,所以我只能更新单个键值,所有值都将保留在集合中
【问题讨论】: