复合
db.people.createIndex({name: 1, age: -1})
这会在多个字段上创建索引,在本例中为 name
和 age
字段。它将在 name
中升序并在 age
中降序。
在这种类型的索引中,排序顺序是相关的,因为它将确定索引是否可以支持排序操作。复合索引的任何前缀都支持反向排序,只要排序是排序中所有键的反向排序方向。否则,复合索引的排序需要与索引的顺序匹配。
字段顺序也很重要,在这种情况下,索引将首先按 name
排序,并在每个名称值内,按 age
字段的值排序。这允许索引由 name
字段或 name
和 age
上的查询使用,但不能单独使用 age
。