Mongodb Mongo中的复合索引及其排序

Mongodb Mongo中的复合索引及其排序,mongodb,indexing,Mongodb,Indexing,我在Mongo集合上有一个索引a,b,-c 当我运行此查询:按a、b、f查找,(按-c排序)时,c上的索引是否会使排序更快 是的,这些字段上的复合索引将使以下查询快速进行: 查找(a) 查找(a,b) 查找(a、b、c) 只要排序顺序与索引中的排序顺序相同,即。如果在这三个键中的任何一个上反转排序顺序,Mongo将执行完整的集合扫描,而不是使用索引。只要排序字段上的顺序相同,就可以使用索引。您可以按{c:1}或{c:-1}进行排序,索引仍然可以使用。例如,不能按{b:1,c:-1}排序并有效地使

我在Mongo集合上有一个索引a,b,-c


当我运行此查询:按a、b、f查找,(按-c排序)时,c上的索引是否会使排序更快

是的,这些字段上的复合索引将使以下查询快速进行:

  • 查找(a)
  • 查找(a,b)
  • 查找(a、b、c)

  • 只要排序顺序与索引中的排序顺序相同,即。如果在这三个键中的任何一个上反转排序顺序,Mongo将执行完整的集合扫描,而不是使用索引。

    只要排序字段上的顺序相同,就可以使用索引。您可以按{c:1}或{c:-1}进行排序,索引仍然可以使用。例如,不能按{b:1,c:-1}排序并有效地使用索引;但是您可以按{b:1,c:1}排序。