Ricerca…


Osservazioni

Se non ti opponi all'esecuzione di un'utilità Ruby, Genghis è un classico: http://genghisapp.com/

Ma per un utilizzo di produzione scalabile, prenditi da MongoHQ.
http://www.mongohq.com/

Inoltre, il Mongo Monitoring Service, di 10Gen, i produttori di Mongo:
https://mms.mongodb.com/

MongoClient è scritto in Meteor, Completamente gratuito, Open Source e Cross-Platform.

Strumento di gestione MongoDB multipiattaforma nativo di RoboMongo

Analizzare un database ereditato

Esistono due ottime utilità per l'analisi black-box dei database. Innanzitutto è variety.js, che ti offrirà una panoramica di alto livello. Il secondo è schema.js, che ti permetterà di scavare nelle collezioni per maggiori dettagli sui singoli campi. Quando si eredita un database Mongo di produzione, queste due utilità possono aiutarti a capire cosa sta succedendo e come sono strutturate le raccolte e i documenti.

variety.js

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

schema.js

mongo --shell schema.js 

Connetti a un database su * .meteorapp.com

La bandiera --url può essere difficile da usare. C'è una finestra di 60 secondi per l'autenticazione, quindi il nome utente / password vengono ripristinati casualmente. Quindi assicurati di avere aperto robomongo e pronto a configurare una nuova connessione quando esegui il comando.

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

Scarica un database da * .meteor.com

La stessa cosa di prima, ma devi copiare le informazioni nel comando mongodump. Devi eseguire i seguenti comandi in modo ridicolmente veloce e richiede una coordinazione occhio / mano. Essere avvertito! Questo è un rediculously hacky! Ma divertente! Pensalo come un videogioco! : D

# 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

Esportare i dati dall'istanza di sviluppo Meteor locale?

Questo comando creerà una directory / dump e memorizzerà ciascuna raccolta in un file blob BSON separato. Questo è il modo migliore per eseguire il backup o il trasferimento di database tra sistemi.

mongodump --db meteor

Ripristina i dati da un Dumpfile

L'analogo al meteordump comando è meteorrestore . È possibile eseguire un'importazione parziale selezionando la raccolta specifica da importare. Particolarmente utile dopo aver eseguito un comando di rilascio.

# 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

Esportare una raccolta su JSON

Esegui meteora, apri un'altra finestra di terminale ed esegui il seguente comando.

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

Importa un file JSON in Meteor

L'importazione in un'istanza di Meteor predefinita è abbastanza semplice. Si noti che è possibile aggiungere un'opzione --jsonArray se il file json viene esportato come array da un altro sistema.

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

Copia dei dati tra la gestione temporanea e i database locali

Mongo supporta la copia da database a database, che è utile se si dispone di database di grandi dimensioni su un database di staging che si desidera copiare in un'istanza di sviluppo locale.

// 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');

Compatta un database Mongo su una Ubuntu Box

Preallocazione. Mongo mette da parte lo spazio su disco in contenitori vuoti, quindi quando arriva il momento di scrivere qualcosa su disco, non deve mescolare prima i bit. Lo fa con un algoritmo di raddoppio, raddoppiando sempre la quantità di spazio su disco preallocato fino a raggiungere 2 GB; e quindi ogni file prealloc da lì è di 2 GB. Una volta che i dati sono preallocati, non si disalloca se non lo si specifica specificamente. L'uso dello spazio di MongoDB così osservabile tende a salire automaticamente, ma non verso il basso.

Alcune ricerche sulla preallocazione Mongo ...
riducendo-MongoDB-Database-file-size
Mongo-prealloc-files-assunzione-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

Reimposta un set di replica

Elimina i file del database locale. Basta uscire dalla shell di Mongo, navigare in / dbpath (ovunque sia stato impostato) ed eliminare i file all'interno di quella directory.

Connessione remota a un'istanza Mongo su * .meteor.com

Sapevi della bandiera --url ? Molto maneggevole.

meteor mongo --url YOURSITE.meteor.com

Accesso ai file di registro Mongo su un'istanza di Meteora locale

Non sono facilmente accessibili. Se esegui il comando "Bundle Meteor", puoi generare un file tar.gz e quindi eseguire manualmente l'app. In questo modo, dovresti essere in grado di accedere ai registri mongo ... probabilmente nella directory .meteor / db. Se è davvero necessario accedere ai file di log di mongodb, configurare un'istanza di mongodb regolare, quindi collegare Meteor a un'istanza di mongo esterna, impostando la variabile di ambiente MONGO_URL:

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

Una volta fatto, dovresti essere in grado di accedere ai log nei soliti posti ...

/var/log/mongodb/server1.log

Ruota i file di registro su una finestra Ubuntu

Devi ruotare quei file di registro, altrimenti finiranno per consumare tutto il tuo spazio su disco. Inizia con qualche ricerca ...
MongoDB-log-file-crescita
-files ruotare-log

I file di registro possono essere visualizzati con il seguente comando ...

ls /var/log/mongodb/

Ma per impostare la rotazione dei file di registro, devi fare quanto segue ...

// 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow