mongoインデックスsortソートフィールド複合インデックス昇順と降順インデックス作成規則

914 ワード

usernameとdateを含むeventセットを考慮すると、アプリケーションはusernameの昇順とdateの降順をクエリーできます.
db.events.find().sort( { username: 1, date: -1 } )

または、クエリはusername降順とdate昇順に従います.
db.events.find().sort( { username: -1, date: 1 } )

次のインデックスは、上記の2つのクエリーのソート操作をサポートします.
db.events.createIndex( { "username" : 1, "date" : -1 } )

ただし、上記のインデックスはusernameフィールドの昇順とdateフィールドの昇順のソート条件をサポートできません.
db.events.find().sort( { username: 1, date: 1 } )

usernameフィールド降順およびdateフィールド降順のソート条件もサポートされていません.
db.events.find().sort( { username: -1, date: -1 } )

上記の2つのソートをサポートするには、複合インデックスを新規作成する必要があります.
db.events.createIndex( { "username" : 1, "date" : 1 } )

または
db.events.createIndex( { "username" : -1, "date" : -1 } )