- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 mongodb-native-driver,我不太明白为什么他们总是在文档示例中设置 batchSize=1。
http://mongodb.github.io/node-mongodb-native/2.0/api/AggregationCursor.html#each
根据官方文档,不应使用等于 1 的 batchSize: https://docs.mongodb.org/v3.0/reference/method/cursor.batchSize/
如果我设置 batchSize=1 会怎样?每次检索文档时是否强制转到数据库?
这对我来说听起来真的很奇怪......这两个引用资料是官方来源,所以我想我遗漏了什么。
最佳答案
您指的是 mongo shell 文档 - 如果您在那里使用 cursor.batchSize(1),它将与 limit() 一样工作。
shell 的行为与驱动程序的行为略有不同。
您展示的示例来自 mongodb node.js 驱动程序(而不是来自 mongo shell)。在那里使用 batchSzie(1) 是可以的。它将强制驱动程序转到数据库并在每次迭代中获取一个文档。您可以通过这种方式控制存储在内存中的文档数量。数字越大,从客户端到数据库的请求越少,您在客户端内存中存储的文档越多,同时遍历它们。
在您提供的示例中,{cursor: {batchSize:1}} 是“聚合”方法的选项之一。 read the documentation here
关于node.js - 游标 batchSize 如何在 node-mongodb-native 驱动程序中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33742945/
我是一名优秀的程序员,十分优秀!