Indexes クラスは、 MongoDBインデックスキー タイプ の静的ファクトリー メソッドを提供します。各メソッドは Bson 型のインスタンスを返します。これは createIndex() メソッドでも使用できます。
次のコードに示すように、 Indexesクラスのメソッドを静的にインポートできます。
import org.mongodb.scala.model.Indexes._ 
このガイドの例では、この静的インポートを前提としています。
上昇
昇順のインデックスキーを指定するには、 ascending()メソッドのいずれかを使用します。
次の例では、 quantityフィールドに昇順のインデックス キーを指定しています。
ascending("quantity") 
次の例では、昇順でソートされたquantityフィールドと昇順でソートされたtotalAmountフィールドで構成される複合インデックス キーを指定します。
ascending("quantity", "totalAmount") 
下降
降順のインデックスキーを指定するには、 descending()メソッドのいずれかを使用します。
次の例では、 quantityフィールドに降順のインデックス キーを指定しています。
descending("quantity") 
次の例では、降順でソートされたquantityフィールドと降順でソートされたtotalAmountフィールドで構成される複合インデックス キーを指定します。
descending("quantity", "totalAmount") 
複合インデックス
複合インデックスを指定するには、 compoundIndex()メソッドを使用します。
次の例では、昇順でソートされたquantityフィールド、その後に昇順でソートされたtotalAmountフィールド、その後に降順でソートされたorderDateフィールドを含む複合インデックス キーを指定しています。
compoundIndex(ascending("quantity", "totalAmount"), descending("orderDate")) 
Text Index
テキスト インデックス キーを指定するには、 text()メソッドを使用します。
次の例えでは、 descriptionフィールドのテキスト インデックス キーを指定します。
text("description") 
ハッシュされたインデックス
ハッシュされたインデックスキーを指定するには、 hashed()メソッドを使用します。
次の例えでは、 timestampフィールドの ハッシュされたインデックス キー を指定します。
hashed("timestamp") 
地理空間インデックス
MongoDB でサポートされているさまざまな地理空間インデックスのインデックス キーを作成するためのヘルパーがあります。
2dsphere
2 dsphere インデックスキーを指定するには、 geo2dsphere()メソッドのいずれかを使用します。
次の例えでは、 locationフィールドに2dsphereインデックスを指定します。
geo2dsphere("location") 
2d
2dインデックスキーを指定するには、 geo2d()メソッドを使用します。
重要
2dインデックスは 2 次元平面上の点として保存されたデータ用であり、MongoDB Server バージョン2.2以前で使用されている legacy coordinate pairs を対象としています。
次の例えでは、 pointsフィールドに2dインデックスを指定します。
geo2d("points")