3
PyMongo可以批量插入的文檔數量是否有限制?我並不是說MongoDB的文檔大小有16mb的限制,而是我希望通過Python批量插入的文檔列表的實際大小。Python中的Mongodb批量插入限制
PyMongo可以批量插入的文檔數量是否有限制?我並不是說MongoDB的文檔大小有16mb的限制,而是我希望通過Python批量插入的文檔列表的實際大小。Python中的Mongodb批量插入限制
通過pymongo進行批量插入的文檔沒有限制。按照docs,你可以到collection.insert
提供一個可迭代,這將
insert each document in the iterable, sending only a single command to the server
這裏的關鍵點是,pymongo將嘗試通過發送一個單message
到MongoDB服務器做您的插入。
Mongodb本身具有消息大小限制(maxMessageSizeBytes
),即等於48000000字節(maxBsonObjectSize * 3
)。
因此,pymongo客戶端驅動程序應該負責將您的大消息拆分爲更小的消息以適應mongodb最大大小限制。但是,實際上它還沒有實施。請參閱:
現在,你必須自己處理這種情況。
希望有所幫助。
此功能已添加。如果您沒有看到改進,請務必更新** pymongo **:'pip install --upgrade pymongo' – earthmeLon
不幸的是,它仍然會在發送它們之前從您的迭代中獲取所有文檔,因此如果您有這樣的文檔。一個生成數百萬個對象的生成器,它會在以多個塊發送它們之前將所有內容加載到內存中。 – bfontaine