7

运算符的负值limit是什么意思?

http://www.mongodb.org/display/DOCS/Aggregation+Framework+-+ $limit

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%7B%7Blimit%28%29%7D%7D

当我这样做时,Mongo 会返回相同的文档,limit(1)或者limit(-1)??

4

2 回答 2

16

如果限制数为负数,则通常数据库将返回该数量的结果并关闭游标 - 本质上是返回一批结果,并且无法获取该查询的进一步结果。

至于不太一般的情况,如果负限制值超过批处理大小(特别是最大批处理大小),则无论是否达到限制,都会返回批处理并关闭游标。因此,如果限制太高,则单个批处理规则胜过指定的限制。

如果限制为正,您可以让光标保持打开状态以接收更多结果并继续迭代,直到光标耗尽。

有关批处理和游标的更多信息,请查看此处:

http://docs.mongodb.org/manual/core/cursors/#cursor-batches http://docs.mongodb.org/manual/reference/method/cursor.limit/#negative-values

于 2012-08-16T20:36:21.577 回答
-3

您必须将限制的负值发送到 mongodb,例如:

 const options = {
        page: req.query.page || 0,
        limit: -20,
    };
于 2019-11-07T01:08:05.513 回答