查找匹配查询的第一个和最后一个文档?

时间:2013-06-26 22:58:03

标签: mongodb

查找与查询匹配的第一个和最后一个文档的最有效方法是什么?可能有大量文档与查询匹配。

(为什么?我正在尝试找到符合我搜索条件的最旧和最新的文档。)

2 个答案:

答案 0 :(得分:2)

您可以执行2个查询 - 一个按日期升序排序,另一个按日期降序排序。在每个查询上,将结果限制为1.如果索引日期字段应该是一个非常快速的查询。

答案 1 :(得分:2)

由于countskip价格昂贵,我认为最好用不同的排序顺序执行两个查询。还有一个额外的往返,但带有limit的索引查询非常快。

经常触摸旧数据可能会成为问题,因为它会强制mongo将旧内容保留在内存中。如果它们稍微稳定并且数据总量很大,您可能希望缓存这些最旧的结果。但是如果你的查询模式很复杂,我猜想缓存也无济于事。