有这样一个结构
PLAYER_DEFAULT = {
"_id": Inc(PlayersDB),
"mail": "test@gmail.com",
"password": "123456",
"token": uuid4().hex,
"username": "applet",
"user_info":
{
"show_name" : "Hero",
"rate_us": 20000,
"rating": 300,
"gcg": "",
"ration":0,
"items":
[
{"id":1, "item_type":"socket", "name":"aEveA", "data":{"level":1, "stat":"AVA"}},
{"id":2, "item_type":"socket", "name":"aEveA", "data":{"level":4, "stat":"AVA"}},
{"id":3, "item_type":"socket", "name":"Hestos", "data":{"level":9, "stat":"Hest"}},
{"id":4, "item_type":"user", "name":"AAACZX", "data":{"expr":1000}},
{"id":5, "item_type":"user", "name":"AAAAZZZCX", "data": {"expr":1000}}
]
}
}
我用python3.5,PyMongo编写。在
要删除[“user_info”][“items”]中的一个或多个对象: 使用$pull运算符。 例子:数据库集合名称.update({},{'$pull':{'user_信息项':{'id':'项目的id'}}}})
要更新[“user_info”][“items”]中的一个或多个对象: 例子:数据库集合名称.update({'用户_信息项.id':'要更改'},{$set':{user_信息项.$.'要更改的字段“”:'新字段值'}})
对于第三个和第四个查询,使用mongo projection('$')接线员。那个会完成你的工作。在
相关问题 更多 >
编程相关推荐