使用Python Flask查询嵌套的JSON MongoDB文档

时间:2019-06-30 16:25:10

标签: python json mongodb flask pymongo

我想使用Flask requests在MongoDB中查询嵌套的JSON文档。 JSON格式如下:

{"_id": "5d18acedd866fc0c7028f9b7", 
"name": "abc", 
"address": "xyz", 
"children": [{"name": "aaa",
              "address": "xxx", 
              "children": []
             }]
}

我想在"address":"xxx"中提取文档的一部分 即{"name": "aaa", "address": "xxx", "children": []}

我在服务器端写为:

class ExecuteQuery(Resource):
    def get(self, collection_name):
        result_list = []  
        query_list = []  
        for k, v in request.json.items():
            query_list.append({k:v})
        cursor = mongo.db[collection_name].find(*query_list) 
        for document in cursor:
            encoded_data = JSONEncoder().encode(document)  
            result_list.append(json.loads(encoded_data))  
        return result_list

客户端将请求发送为:

req = {<what should I send here??>}
response = requests.get(url, json=req, headers=headers) 

在服务器端,我试图通过使用星号运算符(req)来提取*query_list中的键值对。但这仅在我有一对键值对(例如req = {"name":"abc"})时有效。

如何查询嵌套的JSON并提取"address":"xyz"子句匹配的部分?

0 个答案:

没有答案