Есть ли способ сказать Монго хорошему выводу на печать? В настоящее время все выводится в одну строку, и ее трудно читать, особенно с вложенными массивами и документами.
Есть ли способ сказать Монго хорошему выводу на печать? В настоящее время все выводится в одну строку, и ее трудно читать, особенно с вложенными массивами и документами.
Ответы:
( примечание: это ответ на оригинальную версию вопроса, в которой не было требований по умолчанию )
Вы можете попросить, чтобы это было красиво.
db.collection.find().pretty()
Можете добавить
DBQuery.prototype._prettyShell = true
в ваш файл, $HOME/.mongorc.js
чтобы включить красоту печати по умолчанию.
$HOME/.mongorc.js
: gist.github.com/mathrawka/6239405 Затем вы можете сделать что-то вроде db.users.find (). Ugly (), чтобы получить его без красивой печати.
mongo --checkConf 'pretty'
, не по телефонуdb.collection.find().limit(1)
(примечание: это ответ на обновленный вопрос)
Вы можете просто сделать это на CLI:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
И это всегда даст хорошие результаты.
Поскольку это в основном оболочка javascript, вы также можете использовать toArray()
:
db.collection.find().toArray()
Тем не менее, это будет печатать все документы коллекции в отличие от того, pretty()
что позволит вам выполнить итерацию. См. Http://docs.mongodb.org/manual/reference/method/cursor.toArray/
.toArray()
функция выводит лучше отформатированный JSON, чем .pretty()
функция. то есть: первая запись моей коллекции отличается от остальных (что может быть проблемой), но .pretty()
выдает ее как { "_id" : "VERSION", "v" : "1.5" }
- все в одну строку, где .toArray()
форматируется так же, как и остальные записи ...
Попробуйте Mongo-hacker (модуль узла), он всегда печатает довольно. https://github.com/TylerBrock/mongo-hacker
Более того, он улучшает оболочку mongo (поддерживает только версию> 2.4, текущую версию 3.0), например
Я использую в то время как в производственной среде, никаких проблем пока нет.
$HOME/.mongorc.js
.
Добрался до вопроса, но не смог понять, как распечатать его из загруженного извне монго. Так:
Это работает для консоли: и предпочтительнее в консоли, но не работает во внешнем моно-загруженном JavaScript:
db.quizes.find().pretty()
Это работает во внешнем монго-загруженном javscript:
db.quizes.find().forEach(printjson)
Проверь это:
db.collection.find().pretty()