Я развернул экспресс-API REST с помощью расширения Visual Studio azure. Он состоит только из конечных точек, которые обслуживают данные JSON. У меня есть несколько конечных точек, которые он обслуживает, и сообщение об ошибке, они работают нормально, поэтому экспресс-приложение работает правильно, но когда я достигаю конечной точки, которая требует чтения из MongoDB, в Visual Studio, внутри потоковых журналов она запрашивает это:

Ошибка:

(node:68) UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [cluster0-shard-00-02-cia4k.mongodb.net:27017] on first connect [MongoNetworkError: connection 4 to cluster0-shard-00-02-cia4k.mongodb.net:27017 closed

Итак, как вы можете видеть, там говорится о проблеме с подключением, и я не знаю, что означает failed to connect to the server, "connection 4" в этом случае.

Я пытаюсь подключить экспресс-приложение к MongoDB в облаке. Я использую MongoDB Compass для визуализации данных, и у него нет проблем с подключением. Это то, что я убедился в правильности.

  • Доступ к сети в MongoDB: IP-адрес Azure зарегистрирован в MongoDB (я нашел его на вкладке «Пользовательский домен» в Azure).
  • Node.js имеет правильный адрес Mongo: mongodb+srv://<MyUsername>:<MyPassword>@cluster0-cia4k.mongodb.net/<DatabaseName>.
  • Я добавляю это как параметр в конце адреса mongo mongodb + srv: // ... ?authSource=admin.
  • Я не пытаюсь получить доступ к локальной базе данных MongoDB на виртуальной машине в Azure.

Я уже смотрел на этот поток StackOverflow, но Я не мог найти то, что мне помогло. Большинство проблем в этом посте были локально на их компьютерах.

Пожалуйста, помогите мне.

0
Bryan Enid 28 Ноя 2019 в 17:02

1 ответ

Я нашел решение, поэтому я не ошибся в одном из своих шагов, но для этого потребовалась дополнительная настройка. В основном проблема заключалась в следующем:

Доступ к сети в MongoDB: IP-адрес Azure зарегистрирован в MongoDB (я нашел его на вкладке «Пользовательский домен» в Azure).

Оказывается, у Microsoft Azure есть несколько исходящих IP-адресов. Вы можете найти их в (Настройка> Свойства)> Исходящие IP-адреса. Поместите их все в Атлас MongoDB, и это устранило мою проблему.

1
Bryan Enid 29 Ноя 2019 в 01:29