旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

[MongoDB] Type “it” for more が面倒な場合

2014年3月12日

MongoDB コンソールで db.collection.find() をしても、全行は出力されない。

> db.somecollection.find()
{ "_id" : ObjectId("52b0083902b845c0bc000001") }
{ "_id" : ObjectId("530c3544f5baead709468da5") }
{ "_id" : ObjectId("5315614b5d28a84c560e5dfa") }
{ "_id" : ObjectId("53159c18339971ce658f6ae4") }
{ "_id" : ObjectId("5316b3871355b09a7a35ea88") }
{ "_id" : ObjectId("5319b8b25e96d9810e330898") }
{ "_id" : ObjectId("5319b9fd2458c0860e672211") }
{ "_id" : ObjectId("5319baf82458c0860e67221b") }
{ "_id" : ObjectId("5319be9c464e9fd00e00d138") }
{ "_id" : ObjectId("5319c03c0ee2a2050f647e93") }
Type "it" for more

この場合、Type "it" for more とある通り、"it" を入力すると、都度残りの行が出力される。

とはいえ、都度打つのは面倒なので、その対策の話です。

参考) getting output from db..find()

対策1: DBQuery.shellBatchSize

これで最大出力行数を変更出来る。デフォルトは 20。

> DBQuery.shellBatchSize = 100

対策2: toArray()

> db.somecollection.find().toArray()

蛇足: どっちも微妙なので

チェインしたら全行出るようなメソッドは無いっすかねー?