#node.js #mongodb #heroku #mongoose #deployment
Вопрос:
Один из журналов ошибок выглядит следующим образом: Ошибка MongooseServerSelectionError: подключение ECONNREFUSED 127.0.0.1:27017
дбУРИ, который я использую в своем Node.js:
const dbURI = process.env.MONGODB_URI || 'mongodb://localhost:27017/the-little-helper';
Мой вопрос в том, нужно ли мне использовать облачный сервер (т. Е. MongoDB Atlas), чтобы иметь возможность развернуть свое веб-приложение, или я могу использовать свой локальный сервер для хранения базы данных?
Примечание: Heroku-это то, что я в настоящее время использую для развертывания, не стесняйтесь оставлять предложения для других сайтов, подобных heroku.
Кроме того, если в предыдущих заявлениях было недостаточно информации, вот журнал всех ошибок:
2021-05-24T19:04:50.910961 00:00 heroku[web.1]: Starting process with command `npm start`
2021-05-24T19:04:54.247315 00:00 app[web.1]:
2021-05-24T19:04:54.247332 00:00 app[web.1]: > profile@1.0.0 start /app
2021-05-24T19:04:54.247332 00:00 app[web.1]: > node Node.js
2021-05-24T19:04:54.247333 00:00 app[web.1]:
2021-05-24T19:04:54.947931 00:00 app[web.1]: Connection success!
2021-05-24T19:04:54.954409 00:00 app[web.1]: Warning: connect.session() MemoryStore is not
2021-05-24T19:04:54.954411 00:00 app[web.1]: designed for a production environment, as it will leak
2021-05-24T19:04:54.954411 00:00 app[web.1]: memory, and will not scale past a single process.
2021-05-24T19:05:24.952175 00:00 app[web.1]: MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017
2021-05-24T19:05:24.952186 00:00 app[web.1]: at NativeConnection.Connection.openUri (/app/node_modules/mongoose/lib/connection.js:846:32)
2021-05-24T19:05:24.952186 00:00 app[web.1]: at /app/node_modules/mongoose/lib/index.js:350:10
2021-05-24T19:05:24.952187 00:00 app[web.1]: at /app/node_modules/mongoose/lib/helpers/promiseOrCallback.js:31:5
2021-05-24T19:05:24.952187 00:00 app[web.1]: at new Promise (<anonymous>)
2021-05-24T19:05:24.952188 00:00 app[web.1]: at promiseOrCallback (/app/node_modules/mongoose/lib/helpers/promiseOrCallback.js:30:10)
2021-05-24T19:05:24.952188 00:00 app[web.1]: at Mongoose._promiseOrCallback (/app/node_modules/mongoose/lib/index.js:1154:10)
2021-05-24T19:05:24.952189 00:00 app[web.1]: at Mongoose.connect (/app/node_modules/mongoose/lib/index.js:349:20)
2021-05-24T19:05:24.952189 00:00 app[web.1]: at Object.<anonymous> (/app/Node.js:17:10)
Ответ №1:
Да, вам должен понадобиться кластер cloud base mongodb, такой как Atlas, и добавьте URI cloud base mongodb в переменные heroku env, чтобы запустить приложение без каких-либо ошибок.