mongoDB - 使用$ set和对象更新文档

时间:2014-09-26 21:29:10

标签: javascript mongodb

我有一个包含输入字段中多个值的对象。现在我想更新一个特定的集合。我是这样做的:

var info = {age: t.find('input[name=age]').value, organization: t.find('input[name=organization]').value};
Users.update({_id: userId}, {$set: {profile: info}});

现在,问题是这会删除更新操作之前存在的profile值。 是否可以在文档中保留值,而这些值不属于info对象?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以在$set键中使用点表示法来更新嵌入对象中的各个字段:

var set = {
    'profile.info.age': t.find('input[name=age]').value,
    'profile.info.organization': t.find('input[name=organization]').value
};
Users.update({_id: userId}, {$set: set});