Подтвердить что ты не робот

Mongodb - Разница между работающими базами данных "mongo" и "mongod"

Итак, я уверен, что мне не хватает чего-то простого здесь, но когда я запускаю mongo в качестве демона (используя mongod -fork или просто mongod), я вижу разное содержимое базы данных, чем если бы я просто запускал "mongo" on хост-машина.

Мое единственное предположение состоит в том, что данные хранятся где-то, кроме /data/db, когда он запускает только оболочку и переключается на /data/db, когда я загружаю mongod. В этом случае, как мне получить данные при запуске mongod?

4b9b3361

Ответ 1

Я думаю, что здесь есть некоторая путаница.

mongod - это "Mongo Daemon", в основном это хост-процесс для базы данных. Когда вы начинаете mongod, вы в основном говорите: "Запустите процесс MongoDB и запустите его в фоновом режиме". mongod имеет несколько параметров по умолчанию, например, сохранение данных в /data/db и запуск на порте 27017.

mongo - это оболочка командной строки, которая подключается к определенному экземпляру mongod. Когда вы запускаете mongo без параметров, по умолчанию он подключается к локальному хосту на порту 27017. Если вы запустите mongo против недопустимой комбинации "машина: порт", тогда он не сможет подключиться (и сказать вам столько же).

В идеале, если вы ничего не делаете, просто "играете", вы используете Параметры командной строки для запуска mongod. По той же мере вы должны запустить оболочку mongo с явными инструкциями.

Основываясь на вашем описании, я думаю, вы можете столкнуться с проблемой использования баз данных по умолчанию. Попробуйте запустить mongo со следующим (где dbname - имя вашей базы данных)

./mongo localhost:27017/dbname