NitrousIO mongodb всегда подключается к "тестовой" БД
Я пытаюсь настроить mongodb на моем окне nitrousio nodejs. После этого урока.
Когда я закончу выполнение этой команды,
mongo --shell --host $MONGODB_DEVELOPMENT_HOST --port $MONGODB_DEVELOPMENT_PORT
-u $MONGODB_DEVELOPMENT_USERNAME -p $MONGODB_DEVELOPMENT_PASSWORD
$MONGODB_DEVELOPMENT_DB
Бывает,
Хотя мой MONGO_DEVELOPMENT_DB
переменная окружения установлена в pest
, он пытается подключиться к test
, Не только pest
, если я пытаюсь подключиться к любому из моих экземпляров БД, он всегда пытается подключиться к test
,
Есть идеи, что может пойти не так?
5 ответов
Хорошо, прервал окно и создал новый, который исправил это. Думаю, я испортил env. переменные в моей первой попытке. Работает просто отлично сейчас.
У меня была такая же проблема, и я попробовал с новыми коробками (минимум памяти и памяти), но это не сработало. После максимального увеличения памяти и хранилища на существующем компьютере (память: 640 МБ и хранилище: 1500 МБ) я смог запустить сервер MongoDB и оболочку Mongo.
Недавно у меня было что-то похожее, и оказалось, что конфигурационный файл переопределяет некоторые параметры. Попробуйте посмотреть на /usr/local/mongodb/mongod.conf (в OS X, вероятно, похож на Linux)
После запуска оболочки Монго ваша сессия будет использовать тестовую базу данных по умолчанию. Для получения подробной информации, пожалуйста, обратитесь к MongoDB Doc
Я не уверен, что это даст вам все, что вам нужно, но, по крайней мере, я могу убедиться, что командный интерфейс mongo работает на Nitrous для меня. Сначала немного фона.
Сотрудник службы поддержки в Nitrous сказал мне, что Nitrous открывает только порты: 1024 - 10 000 открытых. Значение по умолчанию для mongodb: 27017. Этот порт, похоже, также закодирован вручную в команде mongo.
На Nitrous я изменил свой файл mongodb.config, чтобы использовать порт в этом диапазоне по адресу 0.0.0.0:
- ~ /.Parts/ и т.д. / mongodb.conf
- bind_ip = 0.0.0.0
- порт = 7017
Увидеть:
Очевидно, что привязка к IP-адресу 0.0.0.0 не является необходимой из-за закиси магии, однако я не проверял это. После перезапуска сервера mongodb:
$ parts stop mongodb
$ # ... edit ~/.parts/etc/mongodb.conf
$ parts start mongodb
$ mongo localhost:7017
В любом случае, это работает для базы данных по умолчанию. Я ожидаю, что другие (действительные, разумные) параметры командной строки должны быть в порядке. Имя базы данных 'test' используется по умолчанию, поэтому, если вы никогда не устанавливаете соединение, mongodb, вероятно, даже не будет смотреть на данное имя базы данных.
Я экспериментирую со стеком MEAN.io на Nitrous, поэтому конфигурация будет сильно отличаться от вашего примера. Тем не менее, эта команда работает нормально:
$ mongo localhost:7017/mean-dev
Чтобы открыть базу данных Mean-Dev. Надеюсь, установка порта даст вам то, что нужно.
И последнее, что интерфейс управления mongodb для этого порта находится на закисляющем URL-адресе предварительного просмотра с номером порта +1000 ==> 8017. Я не обнаружил, как заставить REST API работать с интерфейсом администратора (пока). Несмотря на это, экран администратора показывает, что все выглядит разумно.
Удачи / ж.