Docs 菜单
Docs 主页
/ / /
Kotlin 协程
/ /

索引构建器

在此页面上

  • Overview
  • 升序索引
  • 降序索引
  • 复合索引
  • Text Indexes
  • 哈希(Hashed)索引
  • 地理空间索引

在本指南中,您可以学习;了解如何在MongoDB Kotlin驱动程序中使用 构建者 指定 索引 。 Indexes构建器提供了用于构建以下类型索引的辅助方法:

  • 升序索引

  • 降序索引

  • 复合索引

  • Text Indexes

  • 哈希(Hashed)索引

  • 地理空间索引

索引存储集合数据集的子集。 索引存储特定字段或字段集的值,按字段值排序。 有关索引涵盖的查询示例,请参阅我们的索引指南。

Indexes类为所有 MongoDB 索引类型提供静态工厂方法。 每个方法都返回一个 BSON 实例,您可以将其传递给 createIndex()。

提示

为了简洁起见,您可以选择导入 索引 的所有方法 class:

import com.mongodb.client.model.Indexes.*

升序索引使您能够按索引字段的值从小到大对查询结果进行排序。

要创建升序索引,请首先调用 ascending() 构建器方法,用于创建表示索引文档的Bson 实例,并传递要索引的一个或多个字段的名称。然后,对该集合调用createIndex()方法,并传递包含索引文档的Bson实例。

注意

如果单个字段有升序或降序索引,MongoDB 可以使用任一方向的索引进行排序。

以下示例对name字段指定升序索引:

val ascendingIndex = Indexes.ascending("name")
val indexName = collection.createIndex(ascendingIndex)
println(indexName)
name_1

降序索引使您能够按索引字段的值从大到小对查询结果进行排序。

要创建降序索引,请先调用 降序() 构建器方法,用于创建表示索引文档的Bson 实例,并传递要索引的一个或多个字段的名称。然后,对该集合调用createIndex()方法,并传递包含索引文档的Bson实例。

以下示例指定对 capacity 字段进行降序索引:

val descendingIndex = Indexes.descending("capacity")
val indexName = collection.createIndex(descendingIndex)
println(indexName)
capacity_-1

要创建复合索引,请首先调用 compoundIndex() 构建器方法,用于创建表示索引文档的Bson 实例,并传递要索引的字段的名称。然后,对该集合调用createIndex()方法,并传递包含索引文档的Bson实例。

以下示例指定了一个复合索引,由capacityyear字段的降序索引以及name字段的升序索引组成:

val compoundIndexExample = Indexes.compoundIndex(
Indexes.descending("capacity", "year"),
Indexes.ascending("name")
)
val indexName = collection.createIndex(compoundIndexExample)
println(indexName)
capacity_-1_year_-1_name_1

文本索引按索引字段中的文本对文档进行分组。

要创建文本索引,请先调用 text() 构建器方法,用于创建表示索引文档的Bson 实例,并传递要索引的字段的名称。然后,对该集合调用createIndex()方法,并传递包含索引文档的Bson实例。

以下示例在theaters字段上指定文本索引键:

val textIndex = Indexes.text("theaters")
val indexName = collection.createIndex(textIndex)
println(indexName)
theaters_text

哈希索引按索引字段中的哈希值对文档进行分组。

要创建哈希索引,请先调用 hased() Bson构建器方法,用于创建表示索引文档的 实例,并传递要索引的字段的名称。然后,对该集合调用createIndex()方法,并传递包含索引文档的Bson实例。

以下示例在capacity字段上指定哈希索引:

val hashedIndex = Indexes.hashed("capacity")
val indexName = collection.createIndex(hashedIndex)
println(indexName)
capacity_hashed

2dsphere索引按索引字段中的坐标对文档进行分组。

为了创建2dsphere 索引,请首先调用 geo2 dsphere() 构建器方法,用于创建表示索引文档的Bson 实例,并传递要索引的一个或多个字段的名称。然后,对该集合调用createIndex()方法,并传递包含索引文档的Bson实例。

以下示例在location字段上指定2dsphere索引:

val geo2dsphereIndex = Indexes.geo2dsphere("location")
val indexName = collection.createIndex(geo2dsphereIndex)
println(indexName)
location_2dsphere

后退

筛选构建器