MongoDB 是否支持将 `Infinity` 传递给 `.limit()`

web*_*wer 3 mongodb

这主要是一个学术问题,但我和一位同事不同意 Mongo(通过 MeteorJS 使用EJSONwhich 可以很好地序列化)是否支持Infinity作为查询限制传递。在他担心使用它的某些情况下,我一直在没有明显问题的情况下传递它,因为 Mongo 的文档没有明确指出它是否受支持。我什至尝试在 Mongo CLI 上使用它,它按预期工作(db.collection.find().limit(Infinity).count())。而且似乎没有任何关于这个特定问题的任何在线信息,我们都可以找到。我知道 Mongo 在技术上不是 JS,但它的语法肯定是,这让我假设它使用 JS 解析引擎,这让我相信它Infinity是隐式支持的。

Jai*_*Ram 15

limit(Number.MAX_SAFE_INTEGER)
Run Code Online (Sandbox Code Playgroud)

或者

limit(0) 
Run Code Online (Sandbox Code Playgroud)

limit() 值为 0(即 .limit(0))相当于没有设置限制。

欲了解更多信息


Joh*_*yHK 4

文档limit

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

我读到这表明Infinity不支持。