Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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)中的嵌套字典中查找元素_Python_Mongodb - Fatal编程技术网

在MongoDB(python)中的嵌套字典中查找元素

在MongoDB(python)中的嵌套字典中查找元素,python,mongodb,Python,Mongodb,我在MongoDb集合中插入了以下结构: { "_id": { "$oid": "5fb25b0f9d093cdeeb11649a" }, "Kenya": { "b8": [{ "bw": 2.5, "start_freq": 880, "stop_freq": 882.5

我在MongoDb集合中插入了以下结构:

{
"_id": {
    "$oid": "5fb25b0f9d093cdeeb11649a"
},
"Kenya": {
    "b8": [{
        "bw": 2.5,
        "start_freq": 880,
        "stop_freq": 882.5,
        "operator": "Telkom Kenya"
    }, {
        "bw": 7.5,
        "start_freq": 882.5,
        "stop_freq": 890,
        "operator": "Yu Essar"
    }, {
        "bw": "10",
        "start_freq": 890,
        "stop_freq": 900,
        "operator": "Safaricom"
    }, {
        "bw": "5",
        "start_freq": 900,
        "stop_freq": 905,
        "operator": "Telkom Kenya"
    }, {
        "bw": "10",
        "start_freq": 905,
        "stop_freq": 915,
        "operator": "Airtel"
    }, {
        "bw": 2.5,
        "start_freq": 925,
        "stop_freq": 927.5,
        "operator": "Telkom Kenya"
    }, {
        "bw": 7.5,
        "start_freq": 927.5,
        "stop_freq": 935,
        "operator": "Yu Essar"
    }, {
        "bw": "10",
        "start_freq": 935,
        "stop_freq": 945,
        "operator": "Safaricom"
    }, {
        "bw": "5",
        "start_freq": 945,
        "stop_freq": 950,
        "operator": "Telkom Kenya"
    }, {
        "bw": "10",
        "start_freq": 950,
        "stop_freq": 960,
        "operator": "Airtel"
    }]
例如,使用Python,我想检索b8中包含的所有元素,但是使用find方法,我找不到正确的查询来实现这一点。。。(我是MongoDB的绝对初学者)

我试过:

pprint.pprint(client.collection.find_one("Kenya.b8"))
和其他选择,但没有达到预期的结果

有人能告诉我这句话的语法吗?
非常感谢

尝试使用
client.collection.find_one({},{“Kenya.b8”:1})


然后,如果需要获取元素列表,只需选择相应的键
client.collection.find_one({},{“Kenya.b8”:1})['Kenya']['b8']

欢迎使用Stackoverflow!如果你能在你的问题中加入你迄今为止尝试过的问题,那将是非常有帮助的。好的,谢谢!我设法在MongoDB中将国家用作_id,然后使用
self.collection.find_one({“_id:“Kenya”})
我已经能够检索到您描述的元素列表。