MongoDB游标对象提供了BatchSize
属性和以及Limit
属性,但我似乎无法找到任何明确的信息来正确地阐明2。
我正在使用.Net驱动程序,因为它的价值。
答案 0 :(得分:9)
限制是您想要的结果总数。如果您的查询将返回一千个文档,但您只需要5个,则可以使用“限制”来限制总结果的大小。
BatchSize是每批中应返回的结果数。如果查询的结果集很大,MongoDB将不会在一个批处理中返回所有结果。它将返回总结果的一个子集,然后当需要下一批结果时,游标将向服务器发送getMore消息。
答案 1 :(得分:5)
我从MongoDB文档中得到了这个:
[batchSize]限制一批中返回的元素数量。游标通常会提取一批结果对象并将其存储在本地。如果batchSize为正数,则表示检索的每批对象的大小。可以对其进行调整以优化性能并限制数据传输。如果batchSize为负数,则它将限制返回的数量,这些数量符合最大批量大小限制(通常为4MB),并且光标将被关闭。例如,如果batchSize为-10,那么服务器将返回最多10个文档,并且最多可以返回4MB,然后关闭光标。 请注意,此功能与limit()的不同之处在于文档必须符合最大大小,并且无需发送关闭服务器端游标的请求。批量大小可以更改即使在迭代游标之后,该设置也将适用于下一批检索。
以下是指代词汇表的链接:http://api.mongodb.org/java/2.6/com/mongodb/DBCursor.html#batchSize(int)