有一个数据库 test,里面有2个字段 A、B,两个字段都分别建了一个正序的单键索引 A_1、B_1。
此时我使用聚合查询 db.test.aggregate({$match:{A:100}},{$sort:{B:1}}) 只触发了 B_1 索引。
聚合查询并不是每个阶段各自使用索引,而是整个 pipeline 使用同一个索引?而索引的使用优先级 $sort > $match ?
dreamcxy 已回答的问题
有一个数据库 test,里面有2个字段 A、B,两个字段都分别建了一个正序的单键索引 A_1、B_1。
此时我使用聚合查询 db.test.aggregate({$match:{A:100}},{$sort:{B:1}}) 只触发了 B_1 索引。
聚合查询并不是每个阶段各自使用索引,而是整个 pipeline 使用同一个索引?而索引的使用优先级 $sort > $match ?