【发布时间】:2025-12-09 04:10:01
【问题描述】:
我正在尝试使用 python 库 pymongo 在 MongoDB 中批量插入文档。
import pymongo
def tryManyInsert():
p = {'x' : 1, 'y' : True, 'z': None}
mongoColl = pymongo.MongoClient('localhost', 27017)['test']['multiIn']
mongoColl.insert_many([p for i in range(10)])
tryManyInsert()
但由于BulkWriteError,我一直失败。
Traceback (most recent call last):
File "/prog_path/testMongoCon.py", line 9, in <module>
tryManyInsert();
File "/prog_path/testMongoCon.py", line 7, in tryManyInsert
mongoColl.insert_many([p for i in range(10)])
File "/myenv_path/lib/python3.6/site-packages/pymongo/collection.py", line 724, in insert_many
blk.execute(self.write_concern.document)
File "/myenv_path/lib/python3.6/site-packages/pymongo/bulk.py", line 493, in execute
return self.execute_command(sock_info, generator, write_concern)
File "/myenv_path/lib/python3.6/site-packages/pymongo/bulk.py", line 331, in execute_command
raise BulkWriteError(full_result)
pymongo.errors.BulkWriteError: batch op errors occurred
我试图在没有_id 的情况下按顺序仅插入 10 个文档,因此answer / discussion 中的条件不适用于此处。类似的question 没有答案。
我试过pymongo 3.4 和pymongo 3.5.1,都给出了同样的错误。我在python3.6,mongodb 3.2.10。
我在这里做错了什么?
【问题讨论】:
标签: python mongodb python-3.x pymongo