MongoDB からのデータの読み取り
項目一覧
Overview
このページでは、 Kotlin Sync ドライバーを使用してドキュメントを検索するために使用できる一般的な方法を示すコピー可能なコード例を紹介します。
Tip
このページに記載されているメソッドの詳細については、各セクションに提供されている関連するガイドへのリンクを参照してください。
このページの例を使用するには、コード例をサンプル アプリケーションまたは独自のアプリケーションにコピーします。 <connection string URI>
など、コード例にあるすべてのプレースホルダーを、MongoDB 配置に関連する値に置き換えてください。
サンプル アプリケーション
次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。
Maven または Gradle プロジェクトに Kotlin Sync ドライバーがインストールされていることを確認します。
次のコードをコピーし、新しい
.kt
ファイルに貼り付けます。このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。
1 import com.mongodb.ConnectionString 2 import com.mongodb.MongoClientSettings 3 import com.mongodb.client.model.* 4 import com.mongodb.kotlin.client.* 5 import org.bson.Document 6 7 fun main() { 8 val uri = "<connection string URI>" 9 10 val settings = MongoClientSettings.builder() 11 .applyConnectionString(ConnectionString(uri)) 12 .retryWrites(true) 13 .build() 14 15 // Create a new client and connect to the server 16 val mongoClient = MongoClient.create(settings) 17 val database = mongoClient.getDatabase("<database name>") 18 val collection = database.getCollection<Document>("<collection name>") 19 20 // Start example code here 21 22 // End example code here 23 }
Tip
Kotlin Sync ドライバーをインストールする方法については、「 ダウンロードとインストール 」を参照してください。
ドキュメントの検索
次の例では、指定されたフィルターで指定された条件に一致するドキュメントのリストを検索します。
val filter = <filter> val results = collection.find(filter) results.forEach { result -> print(result) }
find()
メソッドについて詳しくは、 「 ドキュメント検索 」のガイドを参照してください。
コレクション内のドキュメントをカウント
次の例では、指定された コレクション内のドキュメントの数を返します。
val count = collection.countDocuments() print(count)
countDocuments()
メソッドの詳細については、ドキュメントのカウント ガイドの「正確なカウントの取得」セクションを参照してください。
クエリから返されたドキュメントをカウントする
次の例では、指定されたフィルターによって指定された条件に一致するドキュメントの数を返します。
val filter = <filter> val queryCount = collection.countDocuments(filter) print(queryCount)
countDocuments()
メソッドの詳細については、ドキュメントのカウント ガイドの「正確なカウントの取得」セクションを参照してください。
推定ドキュメント数
次の例では、コレクションのメタデータに基づいて、指定されたコレクション内のドキュメントのおおよその数を返します。
val estimatedCount = collection.estimatedDocumentCount() print(estimatedCount)
estimatedDocumentCount()
メソッドの詳細については、ドキュメントのカウント ガイドの「推定カウントの取得」セクションを参照してください。
Retrieve Distinct Values
次の例では、指定されたコレクション内の指定されたフィールド名のすべての個別の値を返します。
val distinctResults = collection.distinct("<field name>") distinctResults.forEach { result -> print(result) }
distinct()
メソッドの詳細については、「個別のフィールド値の取得 」ガイドを参照してください。
データの変更を監視
次の例では、特定のコレクションの変更ストリームを作成し、そのコレクション内の後続の変更イベントを出力します。
val changeStream = collection.watch() changeStream.forEach { changeEvent -> print(changeEvent) }
watch()
メソッドの詳細については、「データの変更を監視 」のガイドを参照してください。