我有一个包含输入字段中多个值的对象。现在我想更新一个特定的集合。我是这样做的:
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
对象?
非常感谢任何帮助。
答案 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});