我不知道为什么,但是如果我尝试使用该$set
方法更新现有字段,任何现有字段都会在相同的上下文中被替换。
例如。假设我有一个包含以下字段的现有集合。
集合名称:Ticket
{profile: {name: "Test", placement: 1}, requestor: _id}
当我尝试像这样向这个集合添加/更新字段时:
var ticket = Meteor.tickets.findOne({_id: ticketID});
if(ticket){
Meteor.users.update(ticket, {
$set: profile: {name: "Test2", new_fields: "value"}
});
}
集合得到更新,名称字段发生变化,但位置被删除并且不再存在。name
如果我删除该字段也是如此。我们如何正确更新流星集合,而不必一遍又一遍地传递相同的结构?