Есть ли способ рассказать Монго о довольно печатном выходе? В настоящее время все выводится на одну строку, и ее трудно читать, особенно с вложенными массивами и документами.
Довольно печатать в оболочке MongoDB по умолчанию
Ответ 1
(обратите внимание: это ответ на исходную версию вопроса, у которой не было требований для "default" )
Вы можете попросить его быть красивым.
db.collection.find().pretty()
Ответ 2
Вы можете добавить
DBQuery.prototype._prettyShell = true
к вашему файлу в $HOME/.mongorc.js
, чтобы включить глобальную печать по умолчанию.
Ответ 3
(обратите внимание: это ответ на обновленный вопрос)
Вы можете просто сделать это в CLI:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
И он всегда будет выводить хорошие результаты.
Ответ 4
Поскольку это в основном оболочка javascript, вы также можете использовать toArray()
:
db.collection.find().toArray()
Однако это будет печатать все документы коллекции в отличие от pretty()
, которые позволят вам выполнять итерацию.
См. http://docs.mongodb.org/manual/reference/method/cursor.toArray/
Ответ 5
О, так что я думаю .pretty() равно:
db.collection.find().forEach(printjson);
Ответ 6
Попробуйте Mongo-hacker (модуль node), он всегда печатает красиво. https://github.com/TylerBrock/mongo-hacker
Больше он улучшает оболочку mongo (поддерживает только ver > 2.4, текущий ver равен 3.0), например
- Colorization
- Дополнительные команды оболочки (счетчики документов/счетчики документов и т.д.)
- Добавления API (db.collection.find({...}). last(), db.collection.find({...}). reverse() и т.д.)
- Структура агрегации
Я использую пока в производстве env, пока нет проблем.
Ответ 7
Добрался до вопроса, но не смог понять, как распечатать его из загруженного извне монго. Так:
Это работает для консоли: и предпочтительнее в консоли, но не работает во внешнем моно-загруженном JavaScript:
db.quizes.find().pretty()
Это работает во внешнем монго-загруженном javscript:
db.quizes.find().forEach(printjson)
Ответ 8
Проверь это:
db.collection.find().pretty()