0
我是一名Stackoverflow,MongoDB和PyMongo的新手。我有一個名爲posts的集合的數據庫,如下所示。Pymongo遍歷文檔列表
{
EXPERIMENT:1,
DATA[
{TIMESTAMP:1/1/1000 00:00:00,
"A":1,
"B":2,
"C":3
},
{TIMESTAMP:1/1/1000 00:00:01,
"A":4,
"B":5,
"C":6
}
]
}
我甚至不知道這是否是對數據結構的模型的最佳方式,但它是我現在所擁有的,我想查詢。當我嘗試查詢,
db.posts.find({EXPERIMENT:1},{DATA.TIMESTAMP:1, _id:0})
我得到了我想要的東西,但是,我得到「DATA」回來我認爲這是一個文件列表,但我不能遍歷它。
for result in db.posts.find({EXPERIMENT:1},{DATA.TIMESTAMP:1, _id:0}):
print result;
這只是打印一個龐大的東西,而不是逐行通過DATA。我也試過:
for result in db.posts.find({EXPERIMENT:1},{DATA.TIMESTAMP:1, _id:0}):
for value in result:
print value;
然後我再次得到結果數據,而不是我可以迭代的東西。顯然,我錯過了一些基本的東西。有人可以請指點我正確的方向嗎?也許是一個小題目,但你也有書的建議,可能會涵蓋這一點?
謝謝!
編輯: 最後,我想結果集,看起來像:
DATA = [1/1/1000 00:00:00, 1/1/1000 00:00:01]
其中Data是一家傳統的Python列表,這樣我可以這樣做:
for value in DATA:
print value;
# Do something else with data
同樣,我知道我錯過了一些非常基本的東西。感謝您的幫助和理解!
嗨@ Oz124,感謝您的快速反應!對不起,我覺得我沒有正確地問這個問題(我會編輯問題)。這仍然給我列表中的所有數據(timestamp key:timestamp value),我似乎無法遍歷。在postgres和psycopg中,如果我遍歷一個遊標,我會得到我可以處理的值。 –
Pymongo不返回「值」它返回字典的生成器。每個字典都可以用我向你展示的模式迭代。 – Oz123
詞典!這是我正在尋找的詞,你是完全正確的。謝謝。 –