MongoDB python嵌套对象

2024-10-06 12:32:28 发布

您现在位置:Python中文网/ 问答频道 /正文

有这样一个结构

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编写。在

  1. 我需要删除[“user_info”][“items”]中的一个或多个对象
  2. 我需要更新[“user_info”][“items”]中的一个或多个对象
  3. 我需要一个值一个值地获取值,示例玩家_默认值。查找({}, {“项目类型”,“用户”})
  4. 如何操作嵌入对象?->;示例播放器_默认值。查找({“0.user_信息项.id“:1})<;-如何删除/更新项中的1元素?在

Tags: 对象nameinfoiddatatypeitemssocket
1条回答
网友
1楼 · 发布于 2024-10-06 12:32:28
  1. 要删除[“user_info”][“items”]中的一个或多个对象: 使用$pull运算符。 例子:数据库集合名称.update({},{'$pull':{'user_信息项':{'id':'项目的id'}}}})

  2. 要更新[“user_info”][“items”]中的一个或多个对象: 例子:数据库集合名称.update({'用户_信息项.id':'要更改'},{$set':{user_信息项.$.'要更改的字段“”:'新字段值'}})

对于第三个和第四个查询,使用mongo projection('$')接线员。那个会完成你的工作。在

相关问题 更多 >