gpt4 book ai didi

mongodb - 对 mongodb 中的大量记录进行缓慢分页

转载 作者:IT老高 更新时间:2023-10-28 11:16:31 25 4
gpt4 key购买 nike

我在 Mongo 的一个集合中有超过 30 万条记录。

当我运行这个非常简单的查询时:

db.myCollection.find().limit(5);

只需几毫秒。

但是当我在查询中使用跳过时:

db.myCollection.find().skip(200000).limit(5)

它不会返回任何东西......它运行了几分钟并且什么也没返回。

如何让它变得更好?

最佳答案

解决此问题的一种方法是,如果您有大量文档并且以 已排序 顺序显示它们(我不确定 skip 是否有用,如果您're not) 将使用您要排序的键来选择下一页结果。

所以如果你从

开始
db.myCollection.find().limit(100).sort({created_date:true});

然后将光标返回的last文档的创建日期提取到一个变量max_created_date_from_last_result中,你可以获得效率更高的下一页(假设你在 created_date) 查询上有一个索引

db.myCollection.find({created_date : { $gt : max_created_date_from_last_result } }).limit(100).sort({created_date:true}); 

关于mongodb - 对 mongodb 中的大量记录进行缓慢分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7228169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com