gpt4 book ai didi

python - db.collection.find() 花费太多时间来返回完整数据

转载 作者:行者123 更新时间:2023-12-01 02:41:25 24 4
gpt4 key购买 nike

我正在执行以下操作以从 MongoDB 集合中提取完整数据。

db_client = MongoClient(host='host')
db_database = db_client['db_name']
raw_data = db_database.collection_name.find()
result_data = [row for row in raw_data]
return result_data

返回时间太长。从集合中获取完整数据的最佳方法是什么?

最佳答案

如果你有很多文档,这一行:

result_data = [row for row in raw_data]

这是 Python 花费大部分时间的地方。

根据您想要对文档执行的操作,您可以执行以下操作:

for row in raw_data:
# process each row
print row

但是,如果您打算返回整个集合而不对其进行处理,那么您正在执行集合扫描(相当于 SQL 中的表扫描)并创建大型 Python 数据结构。根据定义,这两个过程都不​​会很快。结合起来,它们会非常慢,并且据我所知没有解决方法。

如果您的目的是转储整个集合,您可能需要查看 mongodumpmongoexport相反,它们旨在执行此任务。

关于python - db.collection.find() 花费太多时间来返回完整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45668428/

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