pymongo Error: pymongo.errors.BulkWriteError: batch op errors occurred

在mongodb进行数据库操作的时候触发异常pymongo Error: pymongo.errors.BulkWriteError: batch op errors occurred

  • 今天在开发过程中遇到一个问题,将api的天级数据插入到mongodb中,出现了pymongo Error: pymongo.errors.BulkWriteError: batch op errors occurred这个异常。

解决过程

  • 查找原因:此bug出现的原因是因为在insert_many过程中,检测到了重复的数据,但每条数据都存在不同都id值,百思不解
  • bug复现:补一天的数据不会出现这个问题,但是补两天的数据就会复现。
  • 真正原因:在程序中定义了一个全局list,用来往数据库批量插入数据,所以补一天的数据无论如何都不会出现问题。补多天的数据,需要遍历天数,但是全局的list并没有清空,以至于list中的数据会重复,插入数据库过程中报错。
  • 解决办法:定位到问题后,在每次数据库插入完成后,执行清空list的代码。
list.clear()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容