【发布时间】:2013-05-21 03:22:54
【问题描述】:
PyMongo 可以批量插入的文档数量是否有限制?我指的不是 MongoDB 文档大小的 16mb 限制,而是我希望通过 Python 批量插入的文档列表的实际大小。
【问题讨论】:
标签: python mongodb pymongo bulkinsert
PyMongo 可以批量插入的文档数量是否有限制?我指的不是 MongoDB 文档大小的 16mb 限制,而是我希望通过 Python 批量插入的文档列表的实际大小。
【问题讨论】:
标签: python mongodb pymongo bulkinsert
通过 pymongo 批量插入的文档的 数量 没有限制。根据docs,你可以给collection.insert提供一个iterable,它会
insert each document in the iterable, sending only a single command to the server
这里的关键点是 pymongo 将尝试通过向 mongodb 服务器发送一个 message 来完成您的插入操作。
Mongodb 本身有一个消息大小限制 (maxMessageSizeBytes),即等于 48000000 字节 (maxBsonObjectSize * 3)。
因此,pymongo 客户端驱动程序应该负责将您的大消息拆分为较小的消息,以适应 mongodb 最大大小限制。但是,实际上它还没有实施。见:
目前,您必须自己处理这种情况。
希望对您有所帮助。
【讨论】:
pip install --upgrade pymongo