我的 MongoDB 文档中有一个与此类似的“复杂”对象:
{_id: "5zvYuC37aXSAjGNEg",
profile: {
name: "profile_name",
keys:[{
keyID: "12345",
code: "12345",
chars:[{
name: "char_name1",
char_id: "12345",
active: 0
}, {
name: "char_name2",
char_id: "67890",
active: 0
}]
}]
}
}
是否可以根据我传递给查询的 char_id
来更新 active
的值? MySQL 中的等效项可能类似于:
更新某个表 SET active = 1 WHERE char_id = 12345
我尝试运行此查询:
Meteor.users.update(Meteor.userId(), {char_id:char_id}, {$set:{active:1} });
但在此之后,我的对象丢失了除 _id
和 char_id
之外的所有值。
最佳答案
我不知道如何在 Meteor 中编写,但下面的查询应该在 mongo shell 中更新
db.Test.update({"profile.keys.chars.char_id":"12345"}, {$set: {"profile.keys.0.chars.$.active": "1"}})
关于mongodb - 更新 MongoDB 文档中的复杂对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16399195/