Я установил кластер MongoDB в Atlas и смог подключиться к нему из Compass и приложения NodeJs, которое я создаю около недели. сегодня я начал постоянно получать из приложения NodeJs указанную ниже "временную" ошибку:
{MongoNetworkError: соединение 5 с cluster0-shard-00-01-z4j9e.azure.mongodb.net:27017 закрыто в TLSSocket. (/Users/ekkis/dev/tst/node_modules/mongodb-core/lib/connection/connection.js:276:9) в Object.onceWrapper (events.js: 277: 13) в TLSSocket.emit (events.js: 194: 15) в _handle.close (net.js: 610: 12) в TCP.done (_tls_wrap.js: 386: 7) имя: 'MongoNetworkError', errorLabels: ['TransientTransactionError'],
[Символ (mongoErrorContextSymbol)]: {}}
хотя компас вроде работает нормально. иногда это очень медленно, но работает. поэтому я попытался установить оболочку (v4.0.0 на OSX) и получил следующее:
$ mongo "mongodb+srv://cluster0-z4j9e.azure.mongodb.net/test" --username tst
Версия оболочки MongoDB v4.0.0 Введите пароль: подключение к: mongodb + srv: //cluster0-z4j9e.azure.mongodb.net/test 2019-02-24T16: 48: 07.460-0800 I NETWORK [js] Запуск нового монитора набора реплик для Cluster0-shard-0 / cluster0-shard-00-00-z4j9e.azure.mongodb.net.: 27017, cluster0-shard-00-01-z4j9e.azure.mongodb.net.: 27017, cluster0-shard-00 -02-z4j9e.azure.mongodb.net.:27017 2019-02-24T16: 48: 09.971-0800 СЕТЬ W [js] Невозможно подключиться к основной сети для набора Cluster0-shard-0 2019-02-24T16: 48: 09.971- 0800 I NETWORK [js] Не удается подключиться ни к каким узлам для набора Cluster0-shard-0. Проверьте подключение к сети и состояние устройства. Это происходило 1 проверку подряд. 2019-02-24T16: 48: 13.260-0800 СЕТЬ W [js] Невозможно подключиться к первичному узлу для набора Cluster0-shard-0 2019-02-24T16: 48: 13.260-0800 I NETWORK [js] Не удается подключиться ни к каким узлам для набора Cluster0 -шард-0. Проверьте подключение к сети и состояние устройства. Это происходило 2 проверки подряд. 2019-02-24T16: 48: 16.880-0800 СЕТЬ W [js] Невозможно подключиться к первичному узлу для набора Cluster0-shard-0 2019-02-24T16: 48: 16.880-0800 I NETWORK [js] Не удается подключиться ни к каким узлам для набора Cluster0 -шард-0. Проверьте подключение к сети и состояние устройства. Так происходило 3 проверки подряд. 2019-02-24T16: 48: 22.303-0800 СЕТЬ W [js] Невозможно подключиться к первичному узлу для набора Cluster0-shard-0 2019-02-24T16: 48: 22.303-0800 I NETWORK [js] Не удается подключиться ни к каким узлам для набора Cluster0 -шард-0. Проверьте подключение к сети и состояние устройства. Так происходило 4 проверки подряд. 2019-02-24T16: 48: 22.303-0800 E QUERY [js] Ошибка: не удалось подключиться к набору реплик Cluster0-shard-0 / cluster0-shard-00-00-z4j9e.azure.mongodb.net.: 27017, cluster0- shard-00-01-z4j9e.azure.mongodb.net.:27017,cluster0-shard-00-02-z4j9e.azure.mongodb.net.:27017: connect@src/mongo/shell/mongo.js: 251: 13 @ (подключение): 1: 6 исключение: сбой подключения
Кажется, я не могу заставить его работать. я должен воссоздать кластер? что еще я мог сделать для устранения неполадок?
У меня было такое же поведение при попытке подключиться к кластеру MongoDB Atlas из клиента Linux Mongo.
Причина, по которой у меня возникла эта проблема, была связана с несоответствием версии клиента кластеру. Клиент Mongo был на v4.0.5, а кластер БД работал на v4.0.6.
Обновление клиента Mongo до версии v4.0.6 устранило проблему.
Что касается проблемы с вашим приложением node.js, она может быть не связана с проблемой клиента mongo, которую вы наблюдаете, или она также может быть связана с управлением версиями, поэтому я бы посоветовал проверить, доступно ли обновление для используемого соединителя базы данных.
РЕДАКТИРОВАТЬ: Чтобы немного подробнее рассказать об ошибке, которую вы получили в своем приложении узла, есть этот вопрос StackOverflow говорить о точном коде ошибки, которую вы видите.
Если вы используете бесплатный кластер с общим уровнем доступа, вы можете получить загадочные временные ошибки такого рода, когда столкнетесь с Пределы эксплуатации этих кластеров. Кажется, пока нет простого способа узнать, попали ли вы в них в веб-интерфейсе, но взгляните на свои метрики, и вы, вероятно, сможете сделать вывод, попали ли вы в них.
Скорее всего, ваш IP-адрес изменился, поэтому вам нужно внести новый в белый список: Безопасность> Доступ к сети> Добавить IP-адрес.