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索引用于存储为二维平面上的点的数据,用于legacy coordinate pairs MongoDB Server2.2及更早版本中使用的 。
以下示例在points字段上指定2d索引:
geo2d("points")