我第一次使用Python和Mongo并且在文档中我无法找到我需要的东西。
所以我的数据对象看起来像这样
{
"_id" : ObjectId("54d372597d74523bc6991b9b"),
"id_user" : "2000001",
"date_registrated" : "2015-01-21 12:11:28.185",
"user" : "Bogdan",
"gender" : "M",
"email" : "a@a.com",
"charachters" : [
{
"quest_info" : "TUT_var,1421842359 STARTAREA,4 ",
"char_name" : "Testarion"
}
]
}
我想在现有的字谜中添加新字段,例如
party_user = {"party_name": "name",
"admin": 0}
最后我想得到这个:
{
"_id" : ObjectId("54d372597d74523bc6991b9b"),
"id_user" : "2000001",
"date_registrated" : "2015-01-21 12:11:28.185",
"user" : "Bogdan",
"gender" : "M",
"email" : "a@a.com",
"charachters" : [
{
"quest_info" : "TUT_var,1421842359 STARTAREA,4 ",
"char_name" : "Testarion"
**"parties" : [{party 1},{party 2}]**
}
]
}
问题是如何创建查询呢? 我尝试过这样的事情,但却失败了:
db.collection('MyDB').update(
{"char_name": "Testarion"},
{"$push": {
"charachters": {"parties": party_user}
}})
我仍然和Mongo一起做新手并没有抓住所有的东西,但是请你告诉我我做错了什么?这甚至可能吗?
答案 0 :(得分:3)
在更新查询中使用'$'表示该数组元素:
db.collection.update(
{"charachters.char_name": "Testarion"},
{"$push": {"charachters.$.parties": "party_user"}})