Я тяну свои волосы, пытаясь заставить pymongo ошибиться, когда код не может подключиться к экземпляру MongoD. Кажется, что независимо от того, что я делаю, «pymongo.errors.ConnectionFailure» не работает. Я пробовал это на локальном хосте и удаленном экземпляре mongoD. Когда я использую оболочку mongoclient («mongo --host xx.xx.xx.xx») из той же системы, я получаю правильное «соединение отказано». Другие исключения работают, но не «ConnectionFailure». Обратите внимание, что когда я запускаю tshark sniffer на экземпляре экземпляра mongod, я вижу, что правильный TCP RST на закрытом порту для отказа соединения. Mongod не слушает, но pymongo ConnectionFailure не может поймать неудавшееся соединение.pymongo 3.2: ConnectionFailure не работает
версия питона: 2.7.10 версия PyMongo: 3,2
Что может отсутствовать, или шаги для устранения неполадок? В этом примере ниже mongod не работает на localhost. Я также останавливаю его на удаленном хосте. В обоих случаях ошибка исключения не попадает, и код pymongo кажется, что он подключен.
Код:
import pymongo
try:
pymongo.MongoClient('localhost:27017')
except pymongo.errors.ConnectionFailure, e:
print "Could not connect: %s" % e
Можете ли вы подключиться к MongoDB с помощью оболочки 'mongo'? – albert
Нет, ответ отклоняется. – Robert
Итак, сначала вы должны убедиться, что MongoDB работает правильно ... – albert