如何在MongoDB的shell中打印超过20个项目(文档)?
db.foo.find().limit(300)
不会这样做。 它仍然只打印出20个文件。
db.foo.find().toArray() db.foo.find().forEach(printjson)
都将打印出每个文档的非常扩展的视图,而不是find()
的单行版本:
DBQuery.shellBatchSize = 300
会做。
MongoDB Docs – mongo Shell入门 – 执行查询
您可以在shell中使用it
来遍历接下来的20个结果。 只要inputit
如果你看到“有更多”,你会看到接下来的20个项目。
如果你想要显示所有的结果,你可以从db.collection.find().toArray()
来获得所有的结果。
总是可以这样做:
db.foo.find().forEach(function(f){print(tojson(f, '', true));});
得到那个紧凑的看法。
另外,我觉得限制查找返回的字段非常有用:
db.foo.find({},{name:1}).forEach(function(f){print(tojson(f, '', true));});
这将只返回foo中的_id和name字段。
在mongo shell中,如果返回的游标未使用var关键字指定给variables,则会自动迭代游标以访问与查询匹配的前20个文档。 您可以设置DBQuery.shellBatchSizevariables来更改自动迭代文档的数量。
参考 – https://docs.mongodb.com/v3.2/reference/method/db.collection.find/