Не удается подключиться к базе данных mongodb с помощью моего приложения heroku? - PullRequest
1 голос
/ 26 июня 2019

Я не могу подключить мое приложение Node.js, развернутое к Heroku, с базой данных MongoDB. Он отлично работает на локальном хосте, но не на Heroku.

В своих логах я вижу это:

MongoNetworkError: failed to connect to server [authproject-shard-00-01-ybey8.mongodb.net:27017] on first connect [MongoNetworkError: connection 4 to authproject-shard-00-01-ybey8.mongodb.net:27017 closed]


custom-environment-variables.json:

{
  "db": "Auth_db"
}

default.json:

{
  "db": "mongodb://localhost/user"
}

db.js:

  const db = config.get("db");
  mongoose
    .connect(db)
    .then(() => console.log("connected to mongodb.."))
    .catch(err => console.error("could not connect to mongodb", err));
};

1 Ответ

0 голосов
/ 26 июня 2019

Вам необходимо настроить переменную среды в приложении Heroku.

Запуск в консоли:

heroku config:set MONGODB_URI='urlOfYourMongoDatabase'

Затем обновите ваш db.js следующим образом:

const mongoose = require('mongoose')

mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost:27017/TodoApp', { useNewUrlParser: true })
        .then(connect => console.log('connected to mongodb..'))
        .catch(e => console.log('could not connect to mongodb', e))

module.exports = {mongoose}

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...