Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB python如何解析多级json_Python_Json_Mongodb_Parsing_Flask - Fatal编程技术网

MongoDB python如何解析多级json

MongoDB python如何解析多级json,python,json,mongodb,parsing,flask,Python,Json,Mongodb,Parsing,Flask,如何使用Python 3.5在Mongodb中解析多级json数据 PLAYER_DEFAULT = { "_id": Inc(PlayersDB), "mail": "test@gmail.com", "password": "123456", "token": uuid4().hex, "username": "applet", "user_info": { "show_name" : "Hero", "rate_us": 20000,

如何使用Python 3.5在Mongodb中解析多级json数据

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}}
               ]
        } 
}
如何获取项目中的数据级别和状态

["_id"]->["show_name"]  
["_id"]->["user_info"]->["items"]   
["_id"]->["user_info"]->["items"] -> get value by "stat" in items[0]  
me需要按项目“统计”值获取项目id
我使用循环 如何获得x计数

for x in PlayersDB.find({"_id":1}):  
    print(x["user_info"]["items"][x.count()])
而且。。。如何在“项目”中通过“id”更新“项目类型”?
以及如何通过“id”删除1份文档:“项目”中的1份文档?

对于该文档,请尝试:

doc['user_info']['items'][0]['data']['stat']
如果你有一个玩家的文档,并且想计算玩家有多少个项目,你将使用一些内置的Python函数,我称之为
XXX
,你应该研究一下该函数是什么,并在文档的
项目
属性上使用它:

number_of_items = XXX(doc['user_info']['items'])

将来,请在你的问题中使用与你发布的示例相同的名称和结构。

你有任何代码要显示吗?你的
[key1]->[key2]
符号试图显示什么?截图是无用的;您不能将json文档粘贴到您的问题中吗?如何将文本和格式文本粘贴到json?\u id“保证是唯一的键,因此只有1个匹配的文档。真的吗?您知道如何粘贴代码,但无法粘贴json?如果这是使用pymongo获取的文档,那么它将已经被
加载
ed。抱歉,需要通过值获取“stat”,例如…doc['user_info']['items'][0][{“stat”:“Hest”}],这与您发布的示例不匹配。在
doc['user_info']['items'][0]
中,有一个“数据”字段:
数据:{“level”:1,“stat”:“Hest”}
。因此,要获取第一项的stat值,请使用:
doc['user\u info']['items'][0]['data']['stat']
。要获取级别,请使用:
doc['user\u info']['items'][0]['data']['level']