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
词典!这是我正在寻找的词,你是完全正确的。谢谢。 –