Как распечатать более 20 документов (документов) в оболочке MongoDB? - PullRequest
234 голосов
/ 14 сентября 2010
db.foo.find().limit(300)

не сделает этого.Он по-прежнему печатает только 20 документов.

db.foo.find().toArray()
db.foo.find().forEach(printjson)

будет распечатывать очень расширенный вид каждого документа вместо однострочной версии для find():

Ответы [ 6 ]

348 голосов
/ 14 сентября 2010
139 голосов
/ 23 февраля 2011

Из оболочки, если вы хотите показать все результаты, вы можете сделать db.collection.find().toArray(), чтобы получить все результаты без него.

95 голосов
/ 14 сентября 2010

Вы можете использовать it внутри оболочки для перебора следующих 20 результатов. Просто наберите it, если вы видите «имеет больше», и вы увидите следующие 20 пунктов.

36 голосов
/ 30 сентября 2011

Всегда можно сделать:

db.foo.find().forEach(function(f){print(tojson(f, '', true));});

Чтобы получить этот компактный вид.

Кроме того, я считаю очень полезным ограничить поля, возвращаемые поиском, так:

db.foo.find({},{name:1}).forEach(function(f){print(tojson(f, '', true));});

, который вернул бы только поле _id и name из foo.

1 голос
/ 19 ноября 2018

Я предлагаю вам иметь ~/.mongorc.js файл, чтобы вам не приходилось каждый раз устанавливать размер по умолчанию.

 # execute in your terminal
 touch ~/.mongorc.js
 echo 'DBQuery.shellBatchSize = 100;' > ~/.mongorc.js
 # add one more line to always prettyprint the ouput
 echo 'DBQuery.prototype._prettyShell = true; ' >> ~/.mongorc.js

Чтобы узнать больше о том, что еще вы можете сделать, я предлагаю вам взглянуть наэта статья: http://mo.github.io/2017/01/22/mongo-db-tips-and-tricks.html

0 голосов
/ 18 июля 2017

В оболочке mongo, если возвращенный курсор не назначен переменной с помощью ключевого слова var, курсор автоматически повторяется для доступа к первым 20 документам, которые соответствуют запросу. Вы можете установить переменную DBQuery.shellBatchSize, чтобы изменить количество автоматически повторяющихся документов.

Ссылка - https://docs.mongodb.com/v3.2/reference/method/db.collection.find/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...