我正在尝试向mongoDB文档的现有对象添加新的key:value对,但是没有任何步骤可以帮助我
我试过$ each,$ push $ addtoset,但我知道它们是数组的,然后试了$ det,但它正在用新的key:value对更新现有的key:value对
这是我的文件
{
test:"abc",
test2:"cdf",
test3:{ 1:"one"}
}
如果您在上述文档中的观察者test3键,我已经有1:“一个”,现在我想在同一对象中添加新键值
喜欢
{
test:"abc",
test2:"cdf",
test3:{ 1:"one", 2:"two", 3:"three"}
}
在mongoDB中有可能吗?
这是mongo查询
let val = parseInt(DYNAMICVALUE)
var changfeemaildot = (req.session.email).replace(/\./g, '#')
var seld = {
_id: ObjectId(rx[0]._id)
};
var seldu = {
$set:{
emails: {
[changfeemaildot]: val
}
}
};
var collection =
connection.get().collection('problems');
collection.update(seld, seldu, function (err, rail) {
});
最佳答案
您可以使用$set。所以你的代码可以是这样的
db.collection.update({<your_condition>}, {$set: {"test3.2": "two", "test3.3": "three"}});
在您的情况下,将是这样的
var seldu = {$set: {["emails." + changfeemaildot]: val}}
关于javascript - 如何向mongoDB文档的现有子对象添加新的key:value对,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53917630/