Достаточно напечатать в командной оболочки MongoDB по умолчанию


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

7 446

7 ответов:

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

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

db.collection.find().pretty()

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

DBQuery.prototype._prettyShell = true

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

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

вы можете просто сделать это на 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);

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

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

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

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

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

db.collection.find().pretty()