回答:
シェルからすべての結果を表示したい場合は、シェルdb.collection.find().toArray()
なしですべての結果を取得できます。
it
シェルの内部を使用して、次の20件の結果を反復処理できます。it
「もっと多い」と表示されたら入力するだけで、次の20項目が表示されます。
it
常に行うことができます:
db.foo.find().forEach(function(f){print(tojson(f, '', true));});
そのコンパクトなビューを取得します。
また、findによって返されるフィールドを制限すると非常に便利です。
db.foo.find({},{name:1}).forEach(function(f){print(tojson(f, '', true));});
これは、fooから_idおよびnameフィールドのみを返します。
--eval
)で実行できるため、この方法が好きです
~/.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
mongoシェルでは、返されたカーソルがvarキーワードを使用して変数に割り当てられていない場合、クエリに一致する最初の20個までのドキュメントにアクセスするために、カーソルが自動的に反復されます。DBQuery.shellBatchSize変数を設定して、自動的に反復されるドキュメントの数を変更できます。
リファレンス-https://docs.mongodb.com/v3.2/reference/method/db.collection.find/
Type it
。シェルに入力することで、次のバッチ20ドキュメントを取得できます。等々。