MongoDB“限制”运算符负值

时间:2012-08-16 18:24:38

标签: mongodb

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

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

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

当我执行limit(1)limit(-1) ??

时,Mongo会返回相同的文档

2 个答案:

答案 0 :(得分:14)

如果限制数为负数,则数据库通常会返回该结果数并关闭游标 - 实际上会返回一批结果,并且不能获取该查询的其他结果。

对于不太常见的情况,如果负限制值超过batch size(特别是最大批量大小),则将返回批处理并关闭光标是否已达到限制。因此,如果限制太高,单批次规则将超过指定的限制。

如果限制是肯定的,您可以将光标打开以接收更多结果并继续迭代直到光标用尽。

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

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

答案 1 :(得分:-1)

您必须向mongodb发送一个负值限制 就像:

 const options = {
        page: req.query.page || 0,
        limit: -20,
    };