Как подключиться к базе данных MongoDB через IP - PullRequest
0 голосов
/ 23 марта 2020

У меня простой вопрос, но я не могу найти рабочее решение. У меня есть приложение, которое работает на Vue и пн go. Я использовал Mon go Atlas для тестирования, но пришло время для приложения go на Prod, поэтому решил go с DigitalOcean. Я создал дроплет с Node.js и MongoDB и сумел соединить свой бэкэнд и MongoDB. Но! Когда я запускаю свой файл на VPS, проблема не возникает:

mongodb.MongoClient.connect('mongodb://localhost:27017/dbname', { useUnifiedTopology: true }, function (err, client) {
    if (err) throw err;

    app.locals.db = client.db('xxxx');
    app.listen(port, () => console.log(`Server started on port ${port}`));
})

Однако, когда я пытаюсь подключиться через IP к локальной копии, я получаю сообщение об ошибке timeout-i sh.

mongodb.MongoClient.connect('mongodb://ip:27017/dbname', { useUnifiedTopology: true }, function (err, client) {
    if (err) throw err;

    app.locals.db = client.db('xxxx');
    app.listen(port, () => console.log(`Server started on port ${port}`));
})

Я тестировал ip:3000 (порт приложения) и ip:27017. Кроме того, я создал пользователя и попробовал с пользователем и пройти. То же самое. Я попытался отредактировать mongod.conf , и вместе с localhost я добавил IP-адрес VPS - все еще не работает. Что я делаю не так?

1 Ответ

0 голосов
/ 25 марта 2020

Вы можете упомянуть IP-адрес в файле конфигурации.

Вы упоминаете параметр ip:3000, скорее это должен быть BindIP : 3000.

Для получения дополнительной информации, пожалуйста, обратитесь к документации https://docs.mongodb.com/manual/reference/configuration-options/index.html

Вы также можете обратиться к блогу, который я нашел хорошим для решения аналогичной проблемы.

https://medium.com/@mansi.kapahi / setting-a-a -mongodb-реплики-набор-на-на-ec2-сервер-e32c4d0f0849

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