gpt4 book ai didi

python - MongoDB - 打印

转载 作者:行者123 更新时间:2023-12-05 08:59:39 29 4
gpt4 key购买 nike

我有兴趣打印一系列查询。我有以下代码。

start = datetime.datetime(2012, 2, 2, 6, 35, 6, 764) 

end = datetime.datetime(2012, 2, 2, 6, 55, 3, 381)

for doc in db.model.find({'time': {'$gte': start, '$lt': end}}):
print doc

它完成了这项工作,基本上打印出我是如何插入数据的。

我的问题是:

是否可以打印出整个查询的一个元素?例如,我希望它只打印项目或日期或插入的另一个输入,而不是给我 {'time': datetime.datime(....), 'input1': ..., 'item': 。 ..}。否则,如果我必须重新解析我已经解析过的 mongodb 查询数据以放入 mongodb,那将大大减慢我的程序。

谢谢。

最佳答案

让我们了解一些有关 pymongo 工作原理的基础知识。

假设您在 Mongo 中有一些包含插入数据的集合。您希望通过查询从该集合中获取数据:

cursor = db.model.find({'time': {'$gte': start, '$lt': end}})

“model” 集合对象的方法查找返回 Cursor 对象:一个包含有关查询和查询结果的所有信息的实体。

这样查询就完成了,接下来就是获取结果了。 Mongo 查询的结果类型可能因方法而异。在我们的例子中(find 方法)- 结果是一堆 JSON 对象(迭代器对象),它们中的每一个都由 Python 语言中的 dict 类型表示。这意味着您不必解析结果:它们已经被解析成字典

关于 Cursor 的另一件事:它是惰性的。这意味着您可以按需收到结果。对于 Cursor 对象,您必须遍历它以获取通过查询获取的对象:

for result_object in cursor:
print result_object # result_object is a dict that holds JSON object
result_object['_id'] # Mongo ObjectId of the result_object
# result_object["<field_name>"] # Value stored in a field named <fieldname>

一般来说,你必须尝试阅读Pymongo Tutorial : 它很短,给出了整个驱动程序如何工作的方向。

关于python - MongoDB - 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11958195/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com