2011-02-03 11 views
28

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

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

+0

не уверен, что вы просите здесь, но mongod является сервер базы данных и Монго является клиентом. так что вы подразумеваете под «Я вижу различный контент базы данных»? – mikezter

ответ

62

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

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

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

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

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

./mongo localhost:27017/dbname 
Смежные вопросы