MongoDB python嵌套对象

MongoDB python嵌套对象,python,mongodb,pymongo,nosql,Python,Mongodb,Pymongo,Nosql,有这样一种结构 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, "g

有这样一种结构

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

  • 我需要删除[“用户信息”][“项目”]中的一个或多个对象
  • 我需要更新[“用户信息”][“项目”]中的一个或多个对象
  • 我需要按值获取值,例如PLAYER_DEFAULT.find({}, {“项目类型”,“用户”})
  • 如何操作嵌入式对象?->示例PLAYER\u DEFAULT.find({“0.user\u info.items.id”:1})<-如何删除\更新items中的1元素
  • 要删除[“用户信息”][“项目”]中的一个或多个对象,请执行以下操作: 使用$pull操作符。 示例:db.collection_name.update({},{'$pull':{'user_info.items':{'id':'id of the item'}})

  • 要更新[“用户信息”][“项目”]中的一个或多个对象,请执行以下操作: 示例:db.collection_name.update({'user_info.items.id':'id to change'},{'set':{'user_info.items.$.'field to change':'new field value'})


  • 对于第三个和第四个查询,请使用mongo projection(“$”)运算符。这将完成您的工作。

    您能告诉我们您已经编写了哪些代码吗?为什么?我不明白为什么。我已经提供了必要的信息,还有一段代码,我只有一个大纲#PlayersDB.update({“\u id”:1},{“$set”:{“player\u info.inventory.0”:1}})#PlayersDB.remove({“\u id”:1},{“player\u info.inventory.id”:1})