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

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

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

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


当前回答

您可以在shell中使用它来遍历接下来的20个结果。如果你看到“有更多”,就输入它,你会看到接下来的20项。

其他回答

您可以在shell中使用它来遍历接下来的20个结果。如果你看到“有更多”,就输入它,你会看到接下来的20项。

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

config.set("displayBatchSize", 300)

而不是贬值:

DBQuery.shellBatchSize = 300

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

从shell中可以使用:

db.collection.find().toArray()

显示所有文档而不必使用它。

我建议你有一个~/.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

DBQuery.shellBatchSize = 300

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