Donc, je suis sûr qu'il me manque quelque chose de simple ici, mais lorsque j'exécute mongo en tant que démon (en utilisant mongod - fork ou simplement mongod), je vois un contenu de base de données différent de celui que j'exécute "mongo" sur la machine hôte .
Ma seule hypothèse est que les données sont stockées ailleurs que/data/db lorsqu'il exécute uniquement le shell et passe à/data/db lorsque je démarre le mongod. Dans ce cas, comment obtenir mes données lors de l'exécution de mongod?
Je pense qu'il y a une certaine confusion ici.
mongod
est le "Mongo Daemon", c'est essentiellement le processus Host pour la base de données. Lorsque vous démarrez mongod
, vous dites essentiellement "démarrez le processus MongoDB et exécutez-le en arrière-plan" . mongod
a plusieurs paramètres par défaut, tels que le stockage de données dans /data/db
et fonctionnant sur le port 27017.
mongo
est le shell de ligne de commande qui se connecte à une instance spécifique de mongod
. Lorsque vous exécutez mongo
sans paramètres, il se connecte par défaut à l'hôte local sur le port 27017. Si vous exécutez mongo
sur une combinaison machine: port non valide, il ne parviendra pas à se connecter (et vous indiquera que beaucoup).
Idéalement, lorsque vous faites autre chose que de "jouer", vous utiliserez Paramètres de ligne de commande pour démarrer mongod
. Par la même mesure, vous devez démarrer le shell mongo
avec des instructions explicites.
Sur la base de votre description, je pense que vous pouvez rencontrer un problème concernant l'utilisation des bases de données par défaut. Essayez de démarrer mongo
avec ce qui suit (où dbname
est le nom de votre base de données)
./mongo localhost:27017/dbname
Oui, cela pourrait être une réponse naïve à cette question mais je la propose pour que les gens la comprennent facilement!
Mongod:
mongod
(Abréviation de Mongo Daemon) est un processus d'arrière-plan utilisé par le serveur MongoDB pour faire avancer les choses. Ce processus est responsable de la gestion de l'ensemble des tâches du serveur MongoDB telles que l'acceptation des demandes, la réponse aux utilisateurs, la gestion des besoins en mémoire des opérations du serveur MongoDB et d'autres éléments essentiels au fonctionnement du serveur MongoDB.
TLDR; Fondamentalement, c'est le serveur MongoDB
Mongo:
Mongo
d'autre part, est une interface interactive JavaScript Shell pour MongoDB, qui fournit une interface puissante pour les administrateurs système ainsi qu'un moyen pour les développeurs de tester les requêtes et les opérations directement avec la base de données. mongo fournit également un environnement JavaScript entièrement fonctionnel à utiliser avec un MongoDB
TLDR; Fondamentalement, je pense que c'est un client mongodb qui peut être utilisé comme un shell pour avoir accès au serveur de base de données MongoDB exécuter mes instances mongod