Показать сообщение отдельно
  #1 (permalink)  
Старый 01.02.2020, 16:58
Интересующийся
Отправить личное сообщение для illusion Посмотреть профиль Найти все сообщения от illusion
 
Регистрация: 01.02.2020
Сообщений: 22

Не удается подключиться к MongoDB на удаленном сервере из Compass
Не могу подключиться к MongoDB из Compass. ( MongoDB сервере Ubuntu 18.04, Compass на моем ПК под windows)
Установлен Ubuntu 18.04, Nginx, Node js v12.14.1, по серии статей:
[url="https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-18-04-ru"]
и других.
Подключил доменное имя и бесплатный сертификат шифрования, создал пользователя помимо root в Ubuntu 18.04.
Работаю с MongoDB через скрипт по mongodb://localhost:27017
Без авторизации в MongoDB, полет нормальный.
Пример скрипта:
Все нормально, но внешне подключится к MongoDB не удается.

При консольном запуске mongo на сервере:

Что сделал, пробовал :
Открыл порт в фаерволе 27017


Инструментом http://portquiz.net:27017 проверил доступность порта, доступен

В файле конфигурации etc/mongodb.conf вбил ip своего сервера:
bind_ip = 127.0.0.1, 95.142.47.208
#port = 27017
Пробовал вместо своего вбивать 0.0.0.0
Пробовал удалять файл mongod.lock в нем было значение 28976
Еще всякое пробовал и уже забыл что именно.
Уже долго маюсь, а решение наверняка очень простое.
Сделал mongod --repair

сразу после этого запускаю скрипт на сервере:

Данные выводятся в консоль из БД и по адресу сервера по https открывается нужная страничка

Код скрипта:
const express = require("express");
// создаем объект приложения
const app = express();
// определяем обработчик для маршрута "/"
app.get("/", function(request, response){
     
    // отправляем ответ
    response.send(`<h2>Привет Express!</h2>`);
});
// начинаем прослушивать подключения на 5000 порту
const port = 5000;
app.listen(port, function () {  console.log(`Server running at :${port}/`); });

// MongoDB test

const MongoClient = require("mongodb").MongoClient;
 
// создаем объект MongoClient и передаем ему строку подключения
const mongoClient = new MongoClient("mongodb://localhost:27017/", { useNewUrlParser: true, useUnifiedTopology:true });
mongoClient.connect(function(err, client){
      
    const db = client.db("usersdb");
    const collection = db.collection("users");
    let user = {name: "Tom", age: 23};
   

       collection.find().toArray(function(err, results){
                 
        console.log(results);
       // console.log(err);
        client.close();
    });   
});

Пожалуйста дайте советы варианты что делать для удаленного подключения через Compass к MongoBD

Последний раз редактировалось illusion, 01.02.2020 в 21:53.
Ответить с цитированием