我正在编写一个python代码来更新集合中的每个文档。我的代码就像:
for r, d_50 in enumerate(grid50.find().batch_size(500)):
self_grid = grid50.find({'_id':d_50['_id']})
.....
.....
(processing process)
grid50.update({'_id':d_50['_id']},{'$set':{u'big_cell8':{"POI":venue_count, "cell_ids":cell_ids}}})
然而,当我运行此代码时,我遇到了问题:
raise AutoReconnect(str(e))
pymongo.errors.AutoReconnect: connection closed
有谁知道如何处理这个问题?我应该在代码中添加一些内容来处理这个问题吗?
答案 0 :(得分:1)
来自PyMongo Docs -
异常pymongo.errors.AutoReconnect(消息='',错误=无)
当与数据库的连接丢失并尝试进行时引发 将自动重新连接。
为了自动重新连接,您必须处理此异常,并进行识别 导致它的操作未必成功。 未来的操作将尝试打开一个新的连接 数据库(并将继续将此异常提升到第一个 成功连接)。
基本上你必须处理这个异常,以便应用程序重新连接到mongo并重新运行失败的函数。