gpt4 book ai didi

node.js - 游标 batchSize 如何在 node-mongodb-native 驱动程序中工作?

转载 作者:可可西里 更新时间:2023-11-01 09:55:13 24 4
gpt4 key购买 nike

我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com