文档菜单
文档首页
/ / /
Kotlin 协程
/

构建器

本页内容

  • 概述
  • 为什么使用构建器?
  • 场景
  • 使用 MongoDB Shell
  • 不使用构建器
  • 使用构建器
  • 可用的构建器

本节包括如何使用每个可用的构建器的指南,并展示了MongoDB Kotlin驱动程序构建类提供的实用工具。

Kotlin驱动程序提供了类来简化开发人员使用CRUD操作和聚合API的过程。静态实用方法允许您更有效地构建查询。

使用构建器类,您可以利用

  • Kotlin编译器和IDE在开发过程中查找错误

  • IDE进行发现和代码补全

使用构建器时,Kotlin编译器和IDE可以及早捕获诸如拼写错误的运算符之类的错误。当使用MongoDB外壳或纯Kotlin时,您将运算符作为字符串编写,并且没有视觉指示有问题,将这些错误从编译时间推迟到运行时间。

使用构建器类,您将运算符作为方法编写。IDE会立即在右侧下划线并给出红色栏,表明有问题。在开发过程中,IDE还会显示您可以使用的方 法。一旦您选择了想要使用的方法,它就会自动用占位符参数完成您的代码。

假设我们想要向以下条件下的所有用户发送营销邮件users 集合

  • 性别为female 的用户

  • 年龄大于29 的用户

我们只想获取他们的电子邮件地址,所以我们将确保我们的查询不会返回我们支付带宽费用但不需要的数据。

在应用程序中,我们使用以下数据类来建模 users 集合中的文档。

data class User(
@BsonId
val id: BsonObjectId = BsonObjectId(),
val gender: String,
val age: Int,
val email: String,
)
collection.find({ "gender": "female", "age" : { "$gt": 29 }}, { "_id": 0, "email": 1 })
data class Results(val email: String)
val filter = Document().append("gender", "female").append("age", Document().append("\$gt", 29))
val projection = Document().append("_id", 0).append("email", 1)
val results = collection.find<Results>(filter).projection(projection)
import com.mongodb.client.model.Filters
import com.mongodb.client.model.Projections
data class Results(val email: String)
val filter = Filters.and(Filters.eq(User::gender.name, "female"), Filters.gt(User::age.name, 29))
val projection = Projections.fields(Projections.excludeId(), Projections.include("email"))
val results = collection.find<Results>(filter).projection(projection)
  • 聚合 用于构建聚合管道。

  • 过滤器 用于构建查询过滤器。

  • 索引 用于创建索引键。

  • 投影 用于构建投影。

  • 排序 用于构建排序条件。

  • 更新 用于构建更新。

返回

编解码器