【问题标题】:MongoDB / PyMongoMongoDB / PyMongo
【发布时间】:2022-11-04 19:46:32
【问题描述】:

我正在运行一个抓取大量数据的脚本,然后使用一个函数将该数据上传到 mongodb。我一直受到连接关闭错误的打击,无法弄清楚为什么会发生这种情况,因为数据每次都会被分成 5000 组,但是当我只运行 15.000 组时,它运行良好。当我运行 50.000 组时,我得到 pymongo.errors.AutoReconnect: scrapy-01-lb.3vs0u.mongodb.net:27017: [Errno 54] Connection reset by peer

def insertData (data, collection):
    try:
        client = pymongo.MongoClient("mongodb+srv://admin:password@url.mongodb.net/?retryWrites=true&w=majority&socketTimeoutMS=360000&connectTimeoutMS=360000", server_api=ServerApi('1'))
        collection.drop()
        if data != []:
            chunks = [data[x:x+5000] for x in range(0, len(data), 5000)]
            for i in chunks:
                print(collection.insert_many(i))

如何解决这个错误?通过在除pymongo.errors.AutoReconnect as e: 之外连续重试?

【问题讨论】:

  • i 不是一个文件吗?

标签: python mongodb pymongo


【解决方案1】:

错误解决

except pymongo.errors.AutoReconnect as e:
collection.insert_many(i)

【讨论】:

    猜你喜欢
    • 2010-12-17
    • 2022-01-14
    • 1970-01-01
    • 2017-09-27
    • 2013-11-24
    • 2017-11-01
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    相关资源
    最近更新 更多