複合

db.people.createIndex({name: 1, age: -1})

這會在多個欄位上建立索引,在本例中為 nameage 欄位。它將在 name 中升序並在 age 中降序。

在這種型別的索引中,排序順序是相關的,因為它將確定索引是否可以支援排序操作。複合索引的任何字首都支援反向排序,只要排序是排序中所有鍵的反向排序方向。否則,複合索引的排序需要與索引的順序匹配。

欄位順序也很重要,在這種情況下,索引將首先按 name 排序,並在每個名稱值內,按 age 欄位的值排序。這允許索引由 name 欄位或 nameage 上的查詢使用,但不能單獨使用 age