Buscar..


Observaciones

Si no te opones a ejecutar una utilidad Ruby, Genghis es un clásico: http://genghisapp.com/

Pero para un uso de producción escalable, vaya a MongoHQ.
http://www.mongohq.com/

Además, el Mongo Monitoring Service, de 10Gen, los creadores de Mongo:
https://mms.mongodb.com/

MongoClient está escrito en Meteor, totalmente gratuito, de código abierto y multiplataforma.

RoboMongo herramienta multiplataforma de administración nativa de MongoDB

Analizar una base de datos heredada

Hay dos grandes utilidades para el análisis de caja negra de bases de datos. Primero está la variedad.js, que le dará una descripción general de alto nivel. El segundo es schema.js, que le permitirá profundizar en las colecciones para obtener más detalles sobre los campos individuales. Al heredar una base de datos Mongo de producción, estas dos utilidades pueden ayudarlo a comprender qué está sucediendo y cómo se estructuran las colecciones y los documentos.

variedad.js

mongo test --eval "var collection = 'users'" variety.js

schema.js

mongo --shell schema.js 

Conectarse a una base de datos en * .meteorapp.com

La bandera --url puede ser difícil de usar. Hay una ventana de 60 segundos para autenticar, y luego el nombre de usuario / contraseña se restablece aleatoriamente. Así que asegúrese de tener robomongo abierto y listo para configurar una nueva conexión cuando ejecute el comando.

# get the MONGO_URL string for your app  
meteor mongo --url $METEOR_APP_URL

Descargar una base de datos desde * .meteor.com

Lo mismo que antes, pero tienes que copiar la información en el comando mongodump. Debe ejecutar los siguientes comandos con rapidez, y requiere coordinación mano / ojo. Ser advertido ¡Esto es un hacky ridículamente! ¡Pero divertido! ¡Piénsalo como un videojuego! :RE

# get the MONGO_URL string for your app  
meteor mongo --url $METEOR_APP_URL

# then quickly copy all the info into the following command
mongodump -u username -p password --port 27017 --db meteor_app_url_com --host production-db-b1.meteor.io

Exportar datos de la instancia de desarrollo local de Meteor?

Este comando creará un directorio / dump y almacenará cada colección en un archivo blob BSON separado. Esta es la mejor manera de hacer copias de seguridad o transferir bases de datos entre sistemas.

mongodump --db meteor

Restaurar datos de un archivo de volcado

El análogo a la meteordump comando es meteorrestore . Puedes hacer una importación parcial seleccionando la colección específica para importar. Particularmente útil después de ejecutar un comando drop.

# make sure your app is running
meteor

# then import your data
mongorestore --port 3001 --db meteor /path/to/dump

# a partial import after running > db.comments.drop()
mongorestore --port 3001 --db meteor /path/to/dump -c comments.bson

Exportar una colección a JSON

Ejecute meteoro, abra otra ventana de terminal y ejecute el siguiente comando.

mongoexport --db meteor --collection foo --port 3001 --out foo.json

Importar un archivo JSON en Meteor

Importar en una instancia predeterminada de Meteor es bastante fácil. Tenga en cuenta que puede agregar una opción --jsonArray si su archivo json se exporta como una matriz desde otro sistema.

mongoimport --db meteor --port 3001 --collection foo --file foo.json

Copia de datos entre la puesta en escena y bases de datos locales

Mongo admite la copia de base de datos a base de datos, lo cual es útil si tiene bases de datos grandes en una base de datos provisional que desea copiar en una instancia de desarrollo local.

// run mongod so we can create a staging database
// note that this is a separate instance from the meteor mongo and minimongo instances
mongod

// import the json data into a staging database
// jsonArray is a useful command, particularly if you're migrating from SQL
mongoimport -d staging -c assets < data.json --jsonArray

// navigate to your application
cd myappdir

// run meteor and initiate it's database
meteor

// connect to the meteor mongodb
meteor mongo --port 3002

// copy collections from staging database into meteor database
db.copyDatabase('staging', 'meteor', 'localhost');

Compactar una base de datos Mongo en una caja de Ubuntu

Preubicación. Mongo deja de lado el espacio del disco en contenedores vacíos, de modo que cuando llega el momento de escribir algo en el disco, no tiene que desordenar los bits primero. Lo hace mediante un algoritmo de duplicación, duplicando siempre la cantidad de espacio en disco preasignado hasta que alcanza los 2 GB; y luego cada archivo prealloc desde allí es de 2GB. Una vez que los datos se preasignan, no se desasigna a menos que se lo indique específicamente. Por lo tanto, el uso del espacio MongoDB observable tiende a aumentar automáticamente, pero no a la baja.

Algunas investigaciones sobre la preasubicación de Mongo ...
Reducir-mongodb-database-file-size
mongo-prealloc-files-take-up-room

// compact the database from within the Mongo shell
db.runCommand( { compact : 'mycollectionname' } )

// repair the database from the command line
mongod --config /usr/local/etc/mongod.conf --repair --repairpath /Volumes/X/mongo_repair --nojournal

// or dump and re-import from the command line
mongodump -d databasename
echo 'db.dropDatabase()' | mongo databasename
mongorestore dump/databasename

Restablecer un conjunto de réplicas

Eliminar los archivos de la base de datos local. Simplemente salga del shell Mongo, navegue hasta la ruta / dbpath (donde sea que lo configure) y elimine los archivos dentro de ese directorio.

Conéctese remotamente a una instancia de Mongo en * .meteor.com

¿Sabías de la bandera --url ? Muy útil.

meteor mongo --url YOURSITE.meteor.com

Acceso a los archivos de registro de Mongo en una instancia de meteorito local

No son fácilmente accesibles. Si ejecuta el comando 'paquete de meteoros', puede generar un archivo tar.gz y luego ejecutar su aplicación manualmente. Al hacerlo, debería poder acceder a los registros de Mongo ... probablemente en el directorio .meteor / db. Si realmente necesita acceder a los archivos de registro de mongodb, configurar una instancia de mongodb regular y luego conectar Meteor a una instancia de mongo externa, configurando la variable de entorno MONGO_URL:

MONGO_URL='mongodb://user:password@host:port/databasename'

Una vez hecho esto, deberías poder acceder a los registros en los lugares habituales ...

/var/log/mongodb/server1.log

Rotar archivos de registro en una caja de Ubuntu

Tienes que rotar esos archivos de registro, o eventualmente se consumirán todo el espacio de tu disco. Comience con algunas investigaciones ...
mongodb-log-file-growth
rotate-log-files

Los archivos de registro se pueden ver con el siguiente comando ...

ls /var/log/mongodb/

Pero para configurar la rotación de archivos de registro, deberá hacer lo siguiente ...

// put the following in the /etc/logrotate.d/mongod file
/var/log/mongo/*.log {
    daily
    rotate 30
    compress
    dateext
    missingok
    notifempty
    sharedscripts
    copytruncate
    postrotate
        /bin/kill -SIGUSR1 `cat /var/lib/mongo/mongod.lock 2> /dev/null` 2> /dev/null || true
    endscript
}

// to manually initiate a log file rotation, run from the Mongo shell
use admin
db.runCommand( { logRotate : 1 } )


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow