Python Mongodb 通过批量大小限制超时

标签 python mongodb collections timeout pymongo

我正在尝试抓取一个巨大的(5GB)mongo 数据库,因此我限制了批量大小以便易于管理。但是,我仍然收到超时错误:/

我的 mongo 知识确实不是最好的,所以如果我做了一些完全愚蠢的事情,请告诉我!我已经搜索了文档和其他问题,但没有一个答案有帮助。

这是我正在尝试做的事情:

from pymongo import MongoClient

collection = MongoClient(host="mongodb://xxx@xxx")
cursor = collection.all_companies.companies
batch = cursor.find().batch_size(1).limit(1) # I tried w/ other numbers too

for item in batch:
    print item

这就是我得到的:

pymongo.errors.ServerSelectionTimeoutError: xxx:xxx: timed out

最佳答案

要获取多个文档作为查询结果,我们使用 find() 方法。 find() 返回一个 Cursor 实例,它允许我们迭代所有匹配的文档。

About find()

About Cursor

connection = MongoClient(host="mongodb://xxx@xxx")
collection = connection.all_companies.companies
for item in collection.find():
    print item

关于Python Mongodb 通过批量大小限制超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38003846/

相关文章:

c++ - GPL如何影响存储在用户数据中的宏?

node.js - 如何在mongodb中从日期时间分割日期?

performance - 使用 java 8 流将键值对转换为按键对象映射分组的最快方法

java.util.Map 和 google 缓存实现(com.google.common.cache.Cache)的区别

java - 为什么 LinkedList 和 arraylist 在 java 中扩展 AbstractList?

python - 将我的python包的配置文件放在/etc/<appname>中并将日志文件放在/var/log/<appname>中

python - 如何键入具有不同类型值的字典提示

python - 如何最合理地分解行,在Python中保留 "within 80 chars"?

python - 批量插入到 MongoDB 中的 GridFS

javascript - 在jquery ajax中设置从node.js作为二进制数据发送的图像