Existe-t-il un moyen de dire à Mongo une jolie sortie d'impression? Actuellement, tout est sorti sur une seule ligne et il est difficile à lire, en particulier avec les tableaux et les documents imbriqués.
Existe-t-il un moyen de dire à Mongo une jolie sortie d'impression? Actuellement, tout est sorti sur une seule ligne et il est difficile à lire, en particulier avec les tableaux et les documents imbriqués.
Réponses:
( note: il s'agit de la réponse à la version originale de la question, qui n'avait pas d'exigences pour "par défaut" )
Vous pouvez lui demander d'être jolie.
db.collection.find().pretty()
Vous pouvez ajouter
DBQuery.prototype._prettyShell = true
à votre fichier $HOME/.mongorc.js
pour permettre une jolie impression globale par défaut.
$HOME/.mongorc.js
: gist.github.com/mathrawka/6239405 Ensuite, vous pouvez faire quelque chose comme db.users.find (). Ugly () pour l'obtenir sans jolie impression.
mongo --checkConf 'pretty'
, pas en appelantdb.collection.find().limit(1)
(note: c'est la réponse à la question mise à jour)
Vous pouvez simplement le faire sur la CLI:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
Et cela produira toujours de jolis résultats.
Comme il s'agit essentiellement d'un shell javascript, vous pouvez également utiliser toArray()
:
db.collection.find().toArray()
Cependant, cela imprimera tous les documents de la collection contrairement à pretty()
ce qui vous permettra d'itérer. Voir: http://docs.mongodb.org/manual/reference/method/cursor.toArray/
.toArray()
fonction génère un JSON mieux formaté que la .pretty()
fonction. ie: Le premier enregistrement de ma collection est différent du reste (ce qui peut être le problème), mais .pretty()
le vide comme { "_id" : "VERSION", "v" : "1.5" }
- le tout sur une seule ligne, où .toArray()
il est bien formaté comme le reste des enregistrements ..
Essayez Mongo-hacker (module de noeud), il est toujours joli. https://github.com/TylerBrock/mongo-hacker
De plus, il améliore le shell mongo (ne prend en charge que les versions> 2.4, la version actuelle est 3.0), comme
J'utilise depuis tout en production env, aucun problème pour le moment.
$HOME/.mongorc.js
.
Je suis arrivé à la question, mais je n'ai pas pu comprendre comment l'imprimer à partir d'un mongo chargé en externe. Donc:
Cela fonctionne pour la console: et est préférable dans la console, mais ne fonctionne pas dans le javascript externe chargé par mongo:
db.quizes.find().pretty()
Cela fonctionne en javscript externe chargé en mongo:
db.quizes.find().forEach(printjson)
Regarde ça:
db.collection.find().pretty()