limit()选项在mongodb中是如何工作的?

问题描述 投票:0回答:1

假设你有一个10,000个文档的集合,我用limit(50)选项进行find查询,mongoDb如何选择返回哪50个文档?mongoDb如何选择返回哪50个文档。

它会不会自动排序(可能是按创建日期)?

每次调用查询都会返回相同的文档吗?mongodb中的limit选项是如何工作的?

mongoDB是在返回文档后还是在查询文档时进行限制。意思是说,mongoDB查询所有文档时,是将结果限制在50个文档,还是只查询这50个文档?

mongodb mongodb-query limit
1个回答
1
投票

前50个文档的 结果集 将被返回。

如果你没有对文档进行排序(或者顺序没有定义好,比如按结果集中多次出现的值的字段排序),顺序可能会从一次执行到下一次。

它会不会自动排序(可能是按照创建日期)?

不会。

每次调用查询都会返回相同的文档吗?

查询可能会在一段时间内产生相同的结果,然后开始产生不同的结果,例如,如果有另一个文档被插入到集合中。

也就是说,mongoDB会查询所有文档,将结果限制在50个文档,还是只查询这50个文档?

取决于查询的情况。如果使用了索引,则只从存储引擎中读取需要的文档。如果在查询执行中使用排序阶段,则会从存储中读取所有文档,进行排序,然后返回需要的数量,其余的丢弃。

© www.soinside.com 2019 - 2024. All rights reserved.