#python #pymongo
#python #pymongo
Вопрос:
Я пытаюсь выяснить, как справиться pymongo.errors.ServerSelectionTimeoutError
, если данные недоступны или каким-либо образом подключение к studio 3T (mongogui) приводит к отключению базы данных. итак, я хочу повторно подключиться к mongo.
if __name__ == '__main__':
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)
Ответ №1:
вы должны просто обернуть свой код внутри блока try-except, где вы обрабатываете исключение ServerSelectionTimeoutError, повторяя попытку повторного подключения и снова выполняя тот же запрос внутри блока except. что-то вроде:
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)