Pretty print в оболочке MongoDB по умолчанию

есть ли способ сказать Монго довольно вывода на печать? В настоящее время, все выводится в одну строку и трудно читать, особенно с вложенными массивами и документы.

7 ответов


(Примечание: это ответ на исходную версию вопроса, в которой не было требований к "default")

вы можете попросить его быть красивым.

db.collection.find().pretty()

Вы можете добавить

DBQuery.prototype._prettyShell = true

в ваш файл в $HOME/.mongorc.js чтобы включить pretty print глобально по умолчанию.


(Примечание: это ответ на обновленный вопрос)

вы можете просто сделать это на CLI:

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

и он всегда будет выводить довольно результаты.


поскольку это в основном оболочка javascript, вы также можете использовать toArray():

db.collection.find().toArray()

тем не менее, это будет печатать все документы коллекции в отличие от pretty() это позволит вам перебрать. См.:http://docs.mongodb.org/manual/reference/method/cursor.toArray/


о, так я думаю .pretty () равно:

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

попробуйте Mongo-hacker (модуль узла), он всегда печатает довольно. https://github.com/TylerBrock/mongo-hacker

больше он улучшает оболочку mongo (поддерживает только ver > 2.4, текущая версия 3.0), как

  • расцвечивания
  • дополнительные команды оболочки (count documents/count docs/etc)
  • дополнения API (db.коллекция.находить. {(.. }).last (), db.коллекция.находить. {(.. }).reverse (), etc)
  • агрегация Рамки

Я использую для в то время как в производстве env, никаких проблем пока нет.


зацени вот это:

db.collection.find().pretty()