Docs Menu
Docs Home
/ / /
Kotlin コルーチン
/

ビルダ

項目一覧

  • Overview
  • ビルダを使用する理由
  • Scenario
  • MongoDB Shell の使用
  • ビルダを使用しない
  • ビルダの使用
  • 利用可能なビルダ

このセクションには、利用可能な各ビルダの使用方法に関するガイドと、MongoDB Kotlin ドライバー ビルダ クラスが提供するユーティリティを示します。

Kotlin ドライバーは、開発者が CRUD 操作と Aggregation API を使用するためのプロセスを簡素化するためのクラスを提供します。 静的ユーティリティ メソッドを使用すると、より効率的にクエリを構築できます。

ビルダー クラスを使用すると、次の権限を活用できます。

  • 開発中にエラーを見つけるための Kotlin コンパイラーと IDE

  • 検出とコード完了のための IDE

ビルダを使用する場合、 Kotlin コンパイラーと IDE はスペルのない演算子などのエラーを早期に検出します。 MongoDB shell またはプレーン Kotlin を使用する場合は、演算子を string として書込みますが、問題を視覚的に示す手段はなく、これらのエラーをコンパイル時間ではなくランタイムに強制します。

ビルダ クラスでは、メソッドとして演算子を記述します。 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)
  • 集計パイプラインを構築するための集計。

  • クエリフィルターを構築するためのフィルター。

  • インデックスキーを作成するためのインデックス。

  • プロジェクションを構築するための プロジェクション 。

  • ソート基準を構築するためのソート。

  • 更新を構築するための更新。

戻る

複合演算子