Невозможно подключиться к кластеру Mongodb.atlas с помощью стека MEAN - PullRequest
0 голосов
/ 21 сентября 2018

Проблемы с подключением к моему серверу с использованием стека MEAN.У меня не было проблем с подключением до сегодняшнего дня, и я не вносил изменения в код с тех пор, поэтому я озадачен, почему вдруг я не могу подключиться.

Соединение:

mongoose.connect("mongodb+srv://theller5567:" + process.env.MONGO_ATLAS_PW + "@cluster0-efzkv.mongodb.net/node-angular", { useNewUrlParser: true })
.then(() => {
    console.log("Connected to database!");
})
.catch((error) => {
    console.log("Connection failed!", error);
});

Ответ:

[nodemon] starting `node server.js`
Connection failed! { MongoNetworkError: failed to connect to server 
[cluster0-shard-00-01-efzkv.mongodb.net:27017] on first connect 
[MongoNetworkError: getaddrinfo ENOTFOUND cluster0-shard-00-01- 
efzkv.mongodb.net cluster0-shard-00-01-efzkv.mongodb.net:27017]
at Pool.<anonymous> (/Users/Travis/Desktop/Github_Repos/OMNI-INC/Omni- 
pl/node_modules/mongodb-core/lib/topologies/server.js:564:11)
at Pool.emit (events.js:182:13)
at Connection.<anonymous> (/Users/Travis/Desktop/Github_Repos/OMNI-INC/Omni- 
pl/node_modules/mongodb-core/lib/connection/pool.js:317:12)
at Object.onceWrapper (events.js:273:13)
at Connection.emit (events.js:182:13)
at TLSSocket.<anonymous> (/Users/Travis/Desktop/Github_Repos/OMNI-INC/Omni- 
pl/node_modules/mongodb-core/lib/connection/connection.js:246:50)
at Object.onceWrapper (events.js:273:13)
at TLSSocket.emit (events.js:182:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} }

Ответ от подключения с использованием MongoShell в терминале:

connecting to: mongodb+srv://cluster0-efzkv.mongodb.net/test
2018-09-21T13:22:28.817-0400 I NETWORK  [js] Starting new replica set monitor 
for Cluster0-shard-0/cluster0-shard-00-02-efzkv.mongodb.net.:27017,cluster0- 
shard-00-00-efzkv.mongodb.net.:27017,cluster0-shard-00-01- 
efzkv.mongodb.net.:27017
2018-09-21T13:23:22.276-0400 W NETWORK  [js] Unable to reach primary for set 
Cluster0-shard-0
2018-09-21T13:23:22.276-0400 I NETWORK  [js] Cannot reach any nodes for set 
Cluster0-shard-0. Please check network connectivity and the status of the 
set. This has happened for 1 checks in a row.
2018-09-21T13:23:22.280-0400 E QUERY    [js] Error: connect failed to replica 
set Cluster0-shard-0/cluster0-shard-00-02-efzkv.mongodb.net.:27017,cluster0- 
shard-00-00-efzkv.mongodb.net.:27017,cluster0-shard-00-01- 
efzkv.mongodb.net.:27017 :
connect@src/mongo/shell/mongo.js:257:13
@(connect):1:6
exception: connect failed

У меня mongod работает как отдельный терминал, как всегда.Кто-нибудь есть какие-либо идеи о том, что может быть проблема и как исправить на основе ответа об ошибке?

Любая помощь будет здорово, спасибо!

1 Ответ

0 голосов
/ 06 ноября 2018

Есть несколько вещей, которые вы могли бы попробовать, которые помогли мне в той же ситуации.

  1. Войдите в mongoDB Atlas и проверьте, работает ли Atlas.Если это работает, перейдите в белый список Security> IP и удалите свой текущий IP, затем добавьте новый с вашим текущим IP.Возможно, ваш IP-адрес изменился из-за вашего провайдера.Также убедитесь, что ваш пользователь mongoDB все еще действителен, вы можете проверить его прямо рядом с вкладкой Белый список IP-адресов.
  2. Попробуйте удалить и переустановить пакет mongoose.Перед переустановкой очистите кэш npm.
  3. Измените тип строки URI, чтобы подключить ваше приложение.Измените его с «Строка подключения SRV» на «Стандартная строка подключения».В Dashboard внутри вашего кластера нажмите CONNECT> Подключить приложение> Стандартная строка подключения.Скопируйте строку и замените SRV-String в вашем приложении.Это помогло мне большую часть времени, когда у меня были проблемы с подключением к Atlas.
  4. Убедитесь, что используемое вами интернет-соединение не блокирует трафик / доступ к атласу mongoDB.
...