2011-02-03 11 views
28

Entonces, estoy seguro de que me falta algo simple aquí, pero cuando corro mongo como daemon (usando mongod --fork o simplemente mongod), ver contenido diferente de la base de datos que si solo ejecuto "mongo" en la máquina host.Mongodb - Diferencia entre ejecutar las bases de datos "mongo" y "mongod"

Mi única suposición es que los datos se almacenan en otro lugar que no sea/data/db cuando se está ejecutando solo el shell, y cambia a/data/db cuando reinicio mongod. En ese caso, ¿cómo obtengo mis datos cuando ejecuto mongod?

+0

no está seguro de lo que están pidiendo aquí, pero mongod es el servidor de base de datos y mongo es el cliente. Entonces, ¿qué quiere decir con "Veo contenido de base de datos diferente"? – mikezter

Respuesta

62

Creo que hay algo de confusión aquí.

mongod es el "Mongo Daemon", básicamente es el proceso de host para la base de datos. Cuando inicias mongod, básicamente dices "inicia el proceso MongoDB y ejecútalo en segundo plano". mongod tiene varios parámetros por defecto, tales como el almacenamiento de datos en /data/db y ejecuta en el puerto 27017.

mongo es la cáscara de línea de comandos que se conecta a una instancia específica de mongod. Cuando ejecuta mongo sin parámetros, se conecta de manera predeterminada al host local en el puerto 27017. Si ejecuta mongo en una combinación máquina no válida: puerto, no podrá conectarse (y le dirá tanto).

Idealmente, cuando haga algo más que simplemente "jugar", usará Command Line Parameters para iniciar mongod. En la misma medida, debe iniciar el shell mongo con instrucciones explícitas.

En función de su descripción, creo que puede encontrar un problema relacionado con el uso de bases de datos predeterminadas. Trate de comenzar con la siguiente mongo (donde dbname es el nombre de la base de datos)

./mongo localhost:27017/dbname 
Cuestiones relacionadas