War*_*arz 5 updates mongodb meteor
我不知道为什么,但如果我尝试使用该$set方法更新现有字段,则在同一上下文中替换任何现有字段.
例如.假设我有一个包含以下字段的现有集合.
收藏名称: Ticket
{profile: {name: "Test", placement: 1}, requestor: _id}
Run Code Online (Sandbox Code Playgroud)
当我尝试向此集合添加/更新字段时,如下所示:
var ticket = Meteor.tickets.findOne({_id: ticketID});
if(ticket){
Meteor.users.update(ticket, {
$set: profile: {name: "Test2", new_fields: "value"}
});
}
Run Code Online (Sandbox Code Playgroud)
集合会更新,名称字段会更改,但展示位置会被删除,不再存在.如果我删除该name字段也是如此.我们如何正确更新流星集合而不必一遍又一遍地传递相同的结构?
这样做:
$set: {"profile.name": "Test2", "profile.new_fields": "value"}
Run Code Online (Sandbox Code Playgroud)
即你正在替换整个哈希.相反,您可以更新哈希中的字段.
| 归档时间: |
|
| 查看次数: |
4981 次 |
| 最近记录: |