Mongodb - Разница между запущенными базами данных "mongo" и "mongod" - PullRequest
42 голосов
/ 03 февраля 2011

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

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

Ответы [ 2 ]

88 голосов
/ 30 марта 2011

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

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

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

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

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

./mongo localhost:27017/dbname
3 голосов
/ 09 октября 2018

Да, это может быть наивный ответ на этот вопрос, но я выдвигаю его, чтобы люди могли его легко понять!

Mongod:

mongod

(сокращение от Mongo Daemon) - это фоновый процесс, используемый сервером MongoDB для достижения цели.Этот процесс отвечает за управление всеми задачами сервера MongoDB, такими как принятие запросов, реагирование на запросы пользователей, управление потребностью в памяти для операций сервера MongoDB и другие вещи, необходимые для работы MongoDB Server.

TLDR; В основном это сервер MongoDB

Mongo:

Mongo

, с другой стороны, представляет собой интерактивную оболочку JavaScriptинтерфейс к MongoDB, который предоставляет мощный интерфейс для системных администраторов, а также позволяет разработчикам тестировать запросы и операции непосредственно с базой данных.mongo также предоставляет полнофункциональную среду JavaScript для использования с MongoDB

TLDR; В основном я считаю его клиентом mongodb, который можно использовать в качестве оболочки для получения доступа к серверу базы данных MongoDB.экземпляры Mongod

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...