python - MongoDB:最好使用带有限制的查找并在循环中跳过或使用无限制的查找来检索大量数据
问题描述
我有一个包含几百万条记录的 mongo 集合,我需要对其进行迭代以进行预处理并存储在单独的集合中。使用循环迭代限制为小块的游标或迭代没有定义限制的游标会更好吗?
from pymongo import MongoClient
from other_file import process
mc = MongoClient()
collection_obj = mc.mydb.mycoll
# method 1
cursor1 = collection_obj.find({})
for each_ele in cursor1:
process(each_ele)
# method 2
for i in range(0, total_length, 5000):
cursor2 = collection_obj.find({}).limit(5000).skip(i)
for each in cursor2:
process(each)
我能知道其中哪一个更适合大型数据集吗?
解决方案
推荐阅读
- ssis - 在 SSIS 查找转换中动态传递表名
- docker - 如何在我的 ubuntu 容器中安装 Docker?
- c# - 如何从串口c#接收更多消息
- hadoop - DynamoDBStorageHandler Hive 连接器
- android - 隐藏启动器图标后无法在启动时启动应用程序
- ios - 导航栏标题不出现
- python - 加快将大 excel 文件导入 pandas 数据框的速度
- azure-functions - Azure Function 订阅带有 Graph 不正确消息 Id 的邮件
- javascript - 如何确定是否通过 MVC 启用了 JavaScript
- r - 如何在 Rmarkdown 文档中使用 Shiny 的反应式表格输出?