Python 如果连接中断,如何强制pymongo重新连接,并执行该操作?

Python 如果连接中断,如何强制pymongo重新连接,并执行该操作?,python,pymongo,Python,Pymongo,我正在试图找出如何处理pymongo.errors.ServerSelectionTimeoutError如果数据关闭或连接到studio 3T(mongogui)导致数据库关闭。所以我想再联系mongo 如果uuuu name_uuuu=='\uuuuuuu main\uuuuuu': client=pymongo.MongoClient(host='localhost',port=27017) db=client.info\u collect 集合=db['info'] 如果collecti

我正在试图找出如何处理
pymongo.errors.ServerSelectionTimeoutError
如果数据关闭或连接到studio 3T(mongogui)导致数据库关闭。所以我想再联系mongo

如果uuuu name_uuuu=='\uuuuuuu main\uuuuuu':
client=pymongo.MongoClient(host='localhost',port=27017)
db=client.info\u collect
集合=db['info']
如果collection.count_文档({'link':url})<1:
集合。插入一个(添加目录)

您应该将代码包装在一个try-except块中,在该块中,您可以通过再次尝试重新连接并在except块中执行相同的查询来处理ServerSelectionTimeoutError异常。 比如:

if __name__ == '__main__':

try:
    client = pymongo.MongoClient(host='localhost', port=27017)
    db = client.info_collect
    collection = db['info']
    if collection.count_documents({'link': url}) < 1:
        collection.insert_one(add_dict)

except pymongo.errors.ServerSelectionTimeoutError as e:

    client = pymongo.MongoClient(host='localhost', port=27017)
    db = client.info_collect
    collection = db['info']
    if collection.count_documents({'link': url}) < 1:
        collection.insert_one(add_dict)

如果uuuu name_uuuu=='\uuuuuuu main\uuuuuu':
尝试:
client=pymongo.MongoClient(host='localhost',port=27017)
db=client.info\u collect
集合=db['info']
如果collection.count_文档({'link':url})<1:
集合。插入一个(添加目录)
除了pymongo.errors.ServerSelectionTimeoutError作为e以外:
client=pymongo.MongoClient(host='localhost',port=27017)
db=client.info\u collect
集合=db['info']
如果collection.count_文档({'link':url})<1:
集合。插入一个(添加目录)