Node + Mongo:在排序中利用索引

问题描述:

我有一个集合,我想要搜索以查找[enabled]为true的最早的[changed]文档。为了实现这一点,我已确保[更改]字段已编入索引。Node + Mongo:在排序中利用索引

以下会利用这个指数吗?

records.findOne({enabled:true}, {sort:[['changed', 'asc']]}, function(error, record) { 

文档出现给我建议,我需要有才能的指数过滤为它是在排序是有用的。在[改变]上增加一个(否则多余的)过滤器会更好地工作吗?

records.findOne({changed:{$gte:0}, enabled:true}, {sort:[['changed', 'asc']]}, function(error, record) { 

即使您之前未在索引上过滤,索引也可以仅用于排序。但是,在过滤器中使用索引可以加快查询速度,因为您可以更快地减少扫描的数据集。

您应该在两个查询中使用explain来验证哪一个更好。

+0

谢谢(不知道我是否应该将此标记为已回答,但我没有看到这样做的选项)。 – Ionwerks 2015-02-12 19:14:01