db.foo.find().limit(300)
不会这么做的。它仍然只打印了20份文件。
db.foo.find().toArray()
db.foo.find().forEach(printjson)
将打印每个文档的扩展视图,而不是find()的一行版本:
db.foo.find().limit(300)
不会这么做的。它仍然只打印了20份文件。
db.foo.find().toArray()
db.foo.find().forEach(printjson)
将打印每个文档的扩展视图,而不是find()的一行版本:
当前回答
从shell中可以使用:
db.collection.find().toArray()
显示所有文档而不必使用它。
其他回答
您可以在shell中使用它来遍历接下来的20个结果。如果你看到“有更多”,就输入它,你会看到接下来的20项。
在mongo shell (mongosh)的新版本中,使用以下语法:
config.set("displayBatchSize", 300)
而不是贬值:
DBQuery.shellBatchSize = 300
将来的find()或aggregate()操作每次游标迭代只返回300个文档。
DBQuery.shellBatchSize = 300
MongoDB Docs - Configure mongo Shell - Change mongo Shell Batch Size
总是可以做:
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字段。
从shell中可以使用:
db.collection.find().toArray()
显示所有文档而不必使用它。