首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >游标batchSize是如何在node-mongodb本机驱动程序中工作的?

游标batchSize是如何在node-mongodb本机驱动程序中工作的?
EN

Stack Overflow用户
提问于 2015-11-17 03:20:44
回答 1查看 1.2K关注 0票数 3

我使用的是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会发生什么?它会在我每次检索文档时强制转到数据库吗?

对我来说听起来真的很奇怪。这两个参考资料是官方资料,所以我想我漏掉了一些东西。

EN

回答 1

Stack Overflow用户

发布于 2015-11-24 17:13:44

您引用的是mongo shell文档-如果您在其中使用cursor.batchSize(1),它将与limit()的工作方式相同。

shell的行为与驱动程序的行为略有不同。

您展示的示例来自mongodb node.js驱动程序(而不是mongo shell)。在那里使用batchSzie(1)是可以的。它将强制驱动程序访问数据库,并在每次迭代中选择一个文档。您可以通过这种方式控制存储在内存中的文档数量。这个数字越大,从客户端到数据库的请求就越少,在迭代这些文档时,您在客户端内存中存储的文档就越多。

在您提供的示例中,{cursor:{batchSize:1}}是"aggregate“方法的选项之一。read the documentation here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33742945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档