Y a-t-il un moyen de dire à Mongo de jolies impressions? Actuellement, tout est sorti sur une seule ligne et il est difficile à lire, en particulier avec les tableaux et les documents imbriqués.
(note: ceci est la réponse à la version originale de la question, qui n'exigeait pas de "défaut")
Vous pouvez lui demander d'être jolie.
db.collection.find().pretty()
Vous pouvez ajouter
DBQuery.prototype._prettyShell = true
dans votre fichier dans $HOME/.mongorc.js
pour permettre une belle impression globale par défaut.
(note: ceci est la réponse à la question mise à jour)
Vous pouvez simplement faire ceci sur la CLI:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
Et cela produira toujours de jolis résultats.
Comme il s’agit d’un shell javascript, vous pouvez également utiliser toArray()
:
db.collection.find().toArray()
Cependant, cela imprimera tous les documents de la collection contrairement à pretty()
qui vous permettra d’itérer. Voir: http://docs.mongodb.org/manual/reference/method/cursor.toArray/
Oh, je suppose que .pretty () est égal à:
db.collection.find().forEach(printjson);
Essayez Mongo-hacker (module de nœud), il est toujours beau. https://github.com/TylerBrock/mongo-hacker
Plus il améliore le shell mongo (ne supporte que ver> 2.4, le ver actuel est 3.0), comme
J'utilise depuis la production, pas de problèmes pour le moment.
Je suis arrivé à la question mais je ne savais pas comment l’imprimer à partir d’un mongo chargé de l’extérieur. Alors:
Ceci 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()
Ceci fonctionne en javscript externe chargé de mongo:
db.quizes.find().forEach(printjson)