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.Joli impression dans le shell MongoDB par défaut
Répondre
(Note: Ceci est la réponse à la version originale de la question, qui n'a pas eu les exigences pour « défaut »)
Vous pouvez demander à être assez.
db.collection.find().pretty()
Vous pouvez ajouter
DBQuery.prototype._prettyShell = true
à votre dossier $HOME/.mongorc.js
pour permettre l'impression assez globalement par défaut.
Vous voudrez créer une fonction personnalisée qui la désactive pour vous. Ajoutez ceci à votre '$ HOME /.mongorc.js': https://gist.github.com/mathrawka/6239405 Ensuite, vous pouvez faire quelque chose comme db.users.find(). ugly() pour l'obtenir sans joli print. – staackuser2
+1 C'est génial. Pour ceux qui n'ont pas de fichier .mongorc.js dans le dossier $ HOME; vous pouvez créer ce fichier et y ajouter des commandes. Après avoir redémarré shell, ça marche! –
Comment puis-je vérifier dans un shell cli ou mongo que cette option a été activée? Je veux dire, y at-il une commande spéciale pour cela, comme 'mongo --checkConf 'pretty'', pas en appelant' db.collection.find() .limit (1) ' – Green
Comme il est fondamentalement un shell javascript, vous pouvez également utiliser toArray()
:
db.collection.find().toArray()
Cependant, cela affichera tous les documents de la collection à la différence pretty()
qui vous permettront d'itérer. Reportez-vous: http://docs.mongodb.org/manual/reference/method/cursor.toArray/
Fait intéressant, de la console le' .toArray() 'affiche une sortie JSON mieux formatée que la fonction' .pretty() '. 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 "} '- tous sur une ligne, où' .toArray() 'formaté comme le reste des enregistrements .. – wasatchwizard
Oh donc je suppose propriété de trois() est égal à:
db.collection.find().forEach(printjson);
(Note: Ceci est réponse à la question mise à jour)
Vous pouvez simplement le faire sur la CLI:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
Et il va toujours produire de jolis résultats.
Essayez Mongo-hacker (module de noeud), il imprime toujours. https://github.com/TylerBrock/mongo-hacker
Plus il améliore shell mongo (ne supporte que ver> 2.4, ver actuelle est 3.0), comme
- colorisation
- commandes shell supplémentaires (comptage des documents/comptage docs/etc)
- Ajouts API (db.collection.find ({...}). (dernier), db.collection.find ({...}). inverse(), etc.)
- cadre d'agrégation
J'utilise pour le moment en production env, pas encore de problèmes.
- 1. Joli-print pour script shell
- 2. Elastic Search: Rendre le joli format par défaut
- 3. Joli impression ne semble pas fonctionner correctement
- 4. marge par défaut a4 impression
- 5. impression de fonction dans le shell python
- 6. Données par défaut de Mongodb dans le document
- 7. Comment utiliser le shell shell d'IPython comme shell par défaut (Windows 7 64 bits)
- 8. MongoDB - Combiner le filtre avec le filtre par défaut
- 9. Joli impression d'un tableau avec Ruby on Rails
- 10. Plage par défaut clé de partition mongodb
- 11. Charger l'icône par défaut pour Shell
- 12. impression de contrôleur foreach seule valeur par défaut dans jmeter
- 13. Puis-je supprimer l'index MongoDB par défaut?
- 14. Emacs ... comme votre shell par défaut?
- 15. MongoDb shell script
- 16. impression unescape espace blanc shell
- 17. mongodb: comment déboguer la carte/réduire sur le shell mongodb
- 18. Impossible de définir le shell de connexion par défaut IPython
- 19. Joli-impression d'un datetime comme jour de la semaine plus le temps dans jQuery/JavaScript
- 20. Pour changer la connexion par défaut dans mongodb
- 21. Chargement de zsh comme shell par défaut dans l'écran gnu
- 22. MongoDB shell Mettre à jour dans forEach
- 23. Coque MongoDB: impression en console sans retour à la ligne?
- 24. MongoDB Shell - collection d'accès avec période dans le nom?
- 25. Comment effacer l'historique des commandes dans le shell mongodb
- 26. Comment créer un curseur de disponibilité dans le shell MongoDB?
- 27. python: impression horizontale plutôt que l'impression par défaut actuelle
- 28. requête shell mongodb avec Java
- 29. MongoDB requêtes A défaut
- 30. Définir par défaut le texte par défaut dans DropDownListControl
Si vous voulez une sortie colorisée + autres améliorations, consultez https://github.com/TylerBrock/mongo-hacker @SAFX –