Question Joli print dans le shell MongoDB par défaut


Existe-t-il un moyen de dire à Mongo de jolies sorties 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.


434
2018-02-05 01:19


origine


Réponses:


(note: ceci est la réponse à la version originale de la question, qui n'avait pas d'exigences pour "défaut")

Vous pouvez lui demander d'être jolie.

db.collection.find().pretty()

754
2018-02-05 03:19



Vous pouvez ajouter

DBQuery.prototype._prettyShell = true

à votre dossier $HOME/.mongorc.js pour activer la jolie impression globalement par défaut.


377
2017-07-09 14:47



(note: ceci est la réponse à la question mise à jour)

Vous pouvez simplement le faire sur la CLI:

echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js

Et ça va toujours produire de jolis résultats.


43
2018-02-05 13:50



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() cela vous permettra de parcourir. Référer: http://docs.mongodb.org/manual/reference/method/cursor.toArray/


15
2018-02-01 06:39



Oh, donc je suppose que .pretty () est égal à:

db.collection.find().forEach(printjson);

15
2018-02-12 08:03



Essayez Mongo-hacker (module de noeud), il imprime toujours. https://github.com/TylerBrock/mongo-hacker

Plus il améliore mongo shell (supporte seulement ver> 2.4, ver actuel est 3.0), comme

  • Colorisation
  • Commandes shell supplémentaires (count documents / count docs / etc)
  • Ajouts d'API (db.collection.find ({...}). Last (), db.collection.find ({...}). Reverse (), etc.)
  • Cadre d'agrégation

J'utilise pour le moment en production env, pas encore de problèmes.


6
2018-05-06 05:12



Regarde ça:

db.collection.find().pretty()

1
2018-03-01 10:19