簡體   English   中英

迭代PyMongo集合

[英]Iterate through a PyMongo collection

我需要遍歷我的集合並從具有相同名稱的鍵中獲取所有值。

[
    {
        "_id": {
            "$oid": "59b3824b44e96c07dceba8de"
        },
        "place": "Yellow Stone",
        "time": "2017-09-08",
        "user": "user@gmail.com",
        "user_go": "yes"
    },
    {
        "_id": {
            "$oid": "59b4ea8644e96c37c43be33a"
        },
        "place": "Yosemite",
        "time": "2017-11-10",
        "user": "user@gmail.com",
        "user_go": "yes"
    },
    {
        "_id": {
            "$oid": "59b4ea9144e96c37c43be344"
        },
        "place": "Devils Tower",
        "time": "2017-09-10",
        "user": "user@gmail.com",
        "user_go": "yes"
    },
]

我想知道如何根據用戶名從集合中獲取所有地名。 我嘗試過類似的事情:

data = db.voting.find({'user' : 'user@gmail.com'})
data = dumps(data)

parsed = json.loads(data)

for x in parsed:
     for key,value in x.items():
         print("values: {}".format(value))

正如您可能猜到的,我獲得了所有鍵的所有值,如何獲得我想要的鍵的值? 我也嘗試過place = parsed[0]['place']但這只返回第一個“place”值而不是所有值。 我確定我錯過了一些明顯的東西,但這對我來說是個棘手的問題。

我也正在閱讀文檔,並發現cursour.forEach但找不到如何使用它的一個很好的例子。

x['place']正是你要找的。

for x in parsed:
     place = x['place']
     ... # do something with place

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM