MongoDB へのデータの書込み (write)
Overview
このページでは、 Kotlin Sync ドライバーを使用して MongoDB にデータを書き込む一般的なメソッドのコピー可能なコード例を示します。
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 }
1 つを挿入
次のコードは、コレクションに単一のドキュメントを挿入する方法を示しています。
val result = collection.insertOne(Document("<field name>", "<value>")) print(result.insertedId)
insertOne()
メソッドの詳細については、 のドキュメントの挿入ガイドを参照してください。
複数挿入
次のコードは、コレクションに複数のドキュメントを挿入する方法を示しています。
val docList = listOf( Document("<field name>", "<value>"), Document("<field name>", "<value>") ) val result = collection.insertMany(docList) print(result.insertedIds)
insertMany()
メソッドについて詳しくは、ドキュメントの挿入ガイドをご覧ください。
更新 1
次のコードは、フィールドを作成または編集して、コレクション内の 1 つのドキュメントを更新する方法を示しています。
val query = Filters.eq("<field to match>", "<value to match>") val update = Updates.set("<field name>", "<value>") val result = collection.updateOne(query, update) print(result.modifiedCount)
updateOne()
メソッドについて詳しくは、ドキュメントの更新ガイドを参照してください。
複数更新
次のコードは、フィールドを作成または編集して、コレクション内の複数のドキュメントを更新する方法を示しています。
val query = Filters.eq("<field to match>", "<value to match>") val update = Updates.set("<field name>", "<value>") val result = collection.updateMany(query, update) print(result.modifiedCount)
updateMany()
メソッドについて詳しくは、ドキュメントの更新ガイドを参照してください。
replaceOne
次のコードは、コレクション内の単一のドキュメントを新しいドキュメントに置き換える方法を示しています。
val query = Filters.eq("<field to match>", "<value to match>") val replacement = Document("<new document field name>", "<new document value>") val result = collection.replaceOne(query, replacement) print(result.modifiedCount)
replaceOne()
メソッドの詳細については、ドキュメントの置換のガイドを参照してください。
deleteOne
次のコードは、コレクション内の 1 つのドキュメントを削除する方法を示しています。
val query = Filters.eq("<field to match>", "<value to match>") val result = collection.deleteOne(query) print(result.deletedCount)
deleteOne()
メソッドの詳細については、ドキュメントの削除のガイドを参照してください。
複数削除
次のコードは、コレクション内の複数のドキュメントを削除する方法を示しています。
val query = Filters.eq("<field to match>", "<value to match>") val result = collection.deleteMany(query) print(result.deletedCount)
deleteMany()
メソッドの詳細については、ドキュメントの削除のガイドを参照してください。
一括書き込み (write)
次のコードは、1 つの一括操作で複数の書き込み操作を実行する方法を示しています。
val bulkOps = listOf( InsertOneModel(Document("<field name>", "<value>")), UpdateOneModel( Filters.eq("<field to match>", "<value to match>"), Updates.set("<field name>", "<value>")), DeleteOneModel(Filters.eq("<field to match>", "<value to match>")) ) val result = collection.bulkWrite(bulkOps) print(result)
bulkWrite()
メソッドの詳細については、一括書込みのガイドを参照してください。