Подключение к удаленному серверу mongoDB - PullRequest
0 голосов
/ 10 октября 2019

У меня есть удаленный компьютер, к которому я подключаюсь по SSH, я установил на нем mongoDB и хочу использовать его удаленно, как мне подключиться к нему с помощью nodejs и mongoDB compass? локальный хост это IP?

const db = "mongodb://what do I write here?";
const connectDB = async () => {
  try {
    await mongoose.connect(db, { useNewUrlParser: true, useCreateIndex: true });
    console.log("MongoDB Connected...");
  } catch (err) {
    console.error(err.message);
    process.exit(1);
  }
};
connectDB();

Ответы [ 4 ]

1 голос
/ 10 октября 2019

Попробуйте это:

mongoose.connect("mongodb://localhost/<database-name>", { useNewUrlParser: true });
const db = mongoose.connection
db.on('error', (error) => console.error(error));
db.once('open', () => console.log('Connected to Database'));

Обязательно запустите MongoDB

mongod --config /usr/local/etc/mongod.conf

1 голос
/ 10 октября 2019

Краткий ответ

Войдите в систему на своем компьютере, откройте файл конфигурации mongodb, расположенный по адресу /etc/mongod.conf, и измените поле bindIp на ip-адрес вашего компьютера (это тот же ip-адрес, который вы используете для sshна ваш компьютер), после этого перезапустите сервер mongodb.


Подробный ответ

  • Откройте файл /etc/mongod.conf с помощью любого из редакторов, если вы используетезатем вы можете использовать gedit утилиту

    sudo gedit /etc/mongod.conf
    

    Если вы работаете с серверной версией, то вы можете использовать vi editor command

    sudo vi /etc/mongod.conf
    
  • Файл должен содержать следующий вид содержимого:

    systemLog:
        destination: file
        path: "/var/log/mongodb/mongod.log"
        logAppend: true
    storage:
        journal:
            enabled: true
    processManagement:
        fork: true
    net:
        bindIp: 127.0.0.1  // enter your ip address here
        port: 27017
    setParameter:
        enableLocalhostAuthBypass: false
    
  • После изменения bindIp необходимо перезагрузить mongodb. , используя следующую команду

    sudo service mongod restart
    
  • Теперь вы сможете подключиться к серверу mongodb с тем же IP-адресом, который вы используете для ssh в вашей системе.

    mongoose.connect('mongodb://<machine_ip_address>:27017/<database_name>')
    
1 голос
/ 10 октября 2019

сначала попробуйте это: mongoose.connect('mongodb://localhost:27017/database')

mongoose.connect('mongodb://<machine_ip_address>:27017/<database_name>')

mongodb: // [имя пользователя: пароль @] host1 [: port1] [, ... hostN [: portN]] [/[база данных] [? опции]]

check https://docs.mongodb.com/manual/reference/connection-string/

1 голос
/ 10 октября 2019
mongoose.connect('mongodb://username:password@host:port/database')

Теперь для host есть ли имя хоста или IP, которые вы могли бы использовать?

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