代码之家  ›  专栏  ›  技术社区  ›  Ayush Gupta

接受的最大值是多少。mongodb中的limit()方法和$limit聚合操作

  •  2
  • Ayush Gupta  · 技术社区  · 7 年前

    我需要知道 cursor.limit() 方法和 $limit 聚合管道阶段 mongodb 3.4

    1 回复  |  直到 7 年前
        1
  •  1
  •   glytching    7 年前

    从…起 the docs cursor.limit() :

    对于小于-2^31且大于2^31的值,limit()的行为未定义

    因此,我们可以推断2^31是最大值。

    从…起 the docs 对于 $limit

    $limit接受一个正整数,该整数指定要传递的最大文档数。

    所以,我 认为 我们可以推断2^31也是最大值。虽然也许 是64位整数,在这种情况下,最大值为:2^63。文件在这一点上不清楚。

    根据@AyushGupta的反馈更新:

    所以我刚刚检查过,当写为数字而不是指数时,2^63对于$limit来说太高了。9223372036854775295是$limit的上限,我可以测试一下

    当然,任何使用 limit() 也有一个有效(而非理论)最大值,即;您要查询的集合中的文档总数。因此,如果您的收藏有<2147483647个文件,则限制的最大值可能没有意义:)