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:
集合。插入一个(添加目录)