Я знаю, что этот вопрос задавался ранее, но я серьезно нигде не нашел ответа на этот вопрос.
Я успешно развернул приложение Node.js в Heroku, но не могу подключиться к своей MongoDB Атлас кластера. Это ошибка, которую я получаю:
2020-04-07T10:39:20.723516+00:00 app[web.1]: Connection failed... MongooseError [MongooseServerSelectionError]: connection <monitor> to 54.72.180.237:27017 closed
2020-04-07T10:39:20.723526+00:00 app[web.1]: at new MongooseServerSelectionError (/app/node_modules/mongoose/lib/error/serverSelection.js:22:11)
2020-04-07T10:39:20.723527+00:00 app[web.1]: at NativeConnection.Connection.openUri (/app/node_modules/mongoose/lib/connection.js:808:32)
2020-04-07T10:39:20.723529+00:00 app[web.1]: at Mongoose.connect (/app/node_modules/mongoose/lib/index.js:333:15)
2020-04-07T10:39:20.723530+00:00 app[web.1]: at Object.<anonymous> (/app/index.js:22:4)
2020-04-07T10:39:20.723531+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:959:30)
2020-04-07T10:39:20.723531+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
2020-04-07T10:39:20.723532+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:815:32)
2020-04-07T10:39:20.723532+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:727:14)
2020-04-07T10:39:20.723532+00:00 app[web.1]: at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
2020-04-07T10:39:20.723533+00:00 app[web.1]: at internal/main/run_main_module.js:17:11 {
2020-04-07T10:39:20.723533+00:00 app[web.1]: message: 'connection <monitor> to 54.72.180.237:27017 closed',
2020-04-07T10:39:20.723534+00:00 app[web.1]: name: 'MongooseServerSelectionError',
2020-04-07T10:39:20.723534+00:00 app[web.1]: reason: TopologyDescription {
2020-04-07T10:39:20.723535+00:00 app[web.1]: type: 'ReplicaSetNoPrimary',
2020-04-07T10:39:20.723535+00:00 app[web.1]: setName: null,
2020-04-07T10:39:20.723535+00:00 app[web.1]: maxSetVersion: null,
2020-04-07T10:39:20.723536+00:00 app[web.1]: maxElectionId: null,
2020-04-07T10:39:20.723536+00:00 app[web.1]: servers: Map {
2020-04-07T10:39:20.723537+00:00 app[web.1]: 'milenskiblog-shard-00-00-lkwi4.mongodb.net:27017' => [ServerDescription],
2020-04-07T10:39:20.723537+00:00 app[web.1]: 'milenskiblog-shard-00-01-lkwi4.mongodb.net:27017' => [ServerDescription],
2020-04-07T10:39:20.723538+00:00 app[web.1]: 'milenskiblog-shard-00-02-lkwi4.mongodb.net:27017' => [ServerDescription]
2020-04-07T10:39:20.723539+00:00 app[web.1]: },
2020-04-07T10:39:20.723539+00:00 app[web.1]: stale: false,
2020-04-07T10:39:20.723539+00:00 app[web.1]: compatible: true,
2020-04-07T10:39:20.723540+00:00 app[web.1]: compatibilityError: null,
2020-04-07T10:39:20.723540+00:00 app[web.1]: logicalSessionTimeoutMinutes: null,
2020-04-07T10:39:20.723541+00:00 app[web.1]: heartbeatFrequencyMS: 10000,
2020-04-07T10:39:20.723541+00:00 app[web.1]: localThresholdMS: 15,
2020-04-07T10:39:20.723541+00:00 app[web.1]: commonWireVersion: null
2020-04-07T10:39:20.723542+00:00 app[web.1]: },
2020-04-07T10:39:20.723542+00:00 app[web.1]: [Symbol(mongoErrorContextSymbol)]: {}
2020-04-07T10:39:20.723542+00:00 app[web.1]: }
Вот как я подключаюсь к MongoDB:
mongoose
.connect(process.env.blog_db, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() => console.log("Connected to MongoDB..."))
.catch((err) => console.error(`Connection failed...`, err));
И это моя переменная окружения (которую я точно так же установил в Heroku).
Странная вещь если я запускаю индекс nodemon. js приложение отлично работает и сразу подключается к кластеру MongoDB Atlas, но развернутое приложение heroku, похоже, не подключается к БД. У меня буквально нет идей, и я вырываю свои волосы здесь, поэтому, пожалуйста, если кто-то уже занимался этим вопросом, мне нужна ваша помощь!
Заранее спасибо!