db.foo.find().limit(300)

不会这么做的。它仍然只打印了20份文件。

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

将打印每个文档的扩展视图,而不是find()的一行版本:


当前回答

总是可以做:

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中使用它来遍历接下来的20个结果。如果你看到“有更多”,就输入它,你会看到接下来的20项。

总是可以做:

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字段。

DBQuery.shellBatchSize = 300

MongoDB Docs - Configure mongo Shell - Change mongo Shell Batch Size

show dbs

使用数据库名称 就我而言,我用的是智能银行 然后-显示集合-检查文档集合名称。 最后是db。您的集合名称。find()或find({}) -

show dbs

use smartbank

show collections

db.users.find() or db.users.find({}) or db.users.find({_id: ObjectId("60c8823cbe9c1c21604f642b")}) or db.users.find({}).limit(20)

您可以指定_id:ObjectId(在这里写入文档id)来获取单个文档

或者你可以指定limit - db.users.find({}).limit(20)

在mongo shell (mongosh)的新版本中,使用以下语法:

config.set("displayBatchSize", 300)

而不是贬值:

DBQuery.shellBatchSize = 300

将来的find()或aggregate()操作每次游标迭代只返回300个文档。