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")