0

Pymongo 几个星期都做得很好,直到我遇到以下错误:

    回溯(最近一次通话最后):
      文件“main.py”,第 14 行,在
        主要的()
      文件“main.py”,第 11 行,在 main
        下载器.process()
      文件“/mnt/vdisk/crawler/eurostat/downloader.py”,第 25 行,处理中
        self.processHelper()
      文件“/mnt/vdisk/crawler/eurostat/downloader.py”,第 61 行,在 processHelper 中
        self.base.insert(文档)
      文件“/usr/local/lib/python2.7/dist-packages/pymongo/collection.py”,第 359 行,插入
        continue_on_error,self.__uuid_subtype),安全)
      _send_message 中的文件“/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py”,第 852 行
        rv = self.__check_response_to_last_error(response)
      文件“/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py”,第 793 行,在 __check_response_to_last_error
        引发 DuplicateKeyError(详细信息 [“错误”])
    pymongo.errors.DuplicateKeyError: E11000 重复键错误索引:test.eurostatdata.$_id_ dup key: { : ObjectId('50fd056757b924675af21a0e') }

_id 绝对不是该领域之一。我一直都是靠mongodb生成自己的_id,所以以前从来没有遇到过这种问题。

插入代码:

文件 = []
对于 split_table_data 中的键:
    文件 = ele
    文档["title"] = ele["title"]
    文档["table_data"] = split_table_data[key]
    文档[“cols”] = colsHeader
    文档[“字幕”] = 键
    文件。附加(文件)
self.base.insert(文档)

我使用最新的 pymongo 包和最新的 mongodb。

唯一可能导致这种情况的是我试图插入一个超过大小限制的文档。

我努力了

db.repairDatabase()

db.test.validate()

4

0 回答 0