Подтвердить что ты не робот

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

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

4b9b3361

Ответ 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()