Как устранить ошибку подключения к Mongodb на AWS-Cloud9

Я следую учебнику «Web Dev Simplified», используя среду AWS-Cloud9 Ubuntu. Все шло хорошо, пока мне не пришлось подключиться к mongodb. БД, казалось, установилась нормально с...

sudo apt install -y mongodb

и работает.

ubuntu:~/environment $ sudo systemctl status mongodb
● mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-06-11 13:19:28 UTC; 20min ago
     Docs: man:mongod(1)
 Main PID: 17781 (mongod)
    Tasks: 23 (limit: 1152)
   CGroup: /system.slice/mongodb.service
           └─17781 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

Jun 11 13:19:28 ip-172-31-16-249 systemd[1]: Started An object/document-oriented database.

В учебнике используется мангуст и выдается ошибка при подключении. Вот строка подключения

mongoose.connect("mongodb://127.0.0.1:27017/examrooms",{useNewUrlParser: true})
const db=mongoose.connect()

Вот ошибка

MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.

Изучение файла mongodb.conf показывает следующее

sudo cat /etc/mongodb.conf
# mongodb.conf

# Where to store the data.
dbpath=/var/lib/mongodb

#where to log
logpath=/var/log/mongodb/mongodb.log

logappend=true

bind_ip = 127.0.0.1
#port = 27017

Безопасность отключена по умолчанию. Итак, у меня правильный IP-адрес, и я предполагаю, что порт по умолчанию равен 27017.

Ясно, что я передаю строку как uri, так что это симптом чего-то другого? Возможно разрешения? Я в тупике. Любые указатели действительно ценятся.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
2 008
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

пожалуйста, взгляните на эту ссылку: https://community.c9.io/t/setting-up-mongodb/1717

sudo apt-get install -y mongodb-org $ mkdir data $ echo 'mongod --bind_ip=$IP --dbpath=data --nojournal --rest "$@"' > mongod $ chmod a+x mongod

Спасибо за супер быстрый ответ. Я попробовал описанное выше (без новой установки) и получил следующую ошибку при выполнении командной строки ./mongod Error parsing: непризнанный параметр «--rest». Есть ли разница между mongodb и mongodb-org?

DaveMac 11.06.2019 16:04

Я удалил остальные, и, похоже, это сработало. Это оставило меня в какой-то оболочке, и я не смог запустить свой веб-сервер для тестирования.

DaveMac 12.06.2019 19:04
Ответ принят как подходящий

Я решил это сейчас. Казалось, что dbpath по умолчанию был /var/lib/mongodb

Мне нужно было создать каталог данных в моем проекте и установить путь к нему в /etc/mongodb.conf

Мне также нужно было убедиться, что для MongoDB установлено правильное разрешение на доступ к этой новой папке. Поскольку я использую AWS Cloud9, я использовал

sudo chown mongodb:mongodb /home/ubuntu/environemnt/data/

Несколько правок в туториале (поскольку некоторые из них устарели), и все в порядке.

Другие вопросы по теме