Docs Menu
Docs Home
/ / /
Kotlin Sync ドライバー

MongoDB へのデータの書込み (write)

項目一覧

  • Overview
  • サンプル アプリケーション
  • 1 つを挿入
  • 複数挿入
  • 更新 1
  • 複数更新
  • replaceOne
  • deleteOne
  • 複数削除
  • 一括書込み (write)

このページでは、 Kotlin Sync ドライバーを使用して MongoDB にデータを書き込む一般的なメソッドのコピー可能なコード例を示します。

Tip

このページに記載されているメソッドの詳細については、各セクションに提供されているリンクを参照してください。

このページの例を使用するには、コード例をサンプル アプリケーションまたは独自のアプリケーションにコピーします。 <connection string URI>など、コード例にあるすべてのプレースホルダーを、MongoDB 配置に関連する値に置き換えてください。

次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。

  1. Maven または Gradle プロジェクトに Kotlin Sync ドライバーがインストールされていることを確認します。

  2. 次のコードをコピーし、新しい.ktファイルに貼り付けます。

  3. このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。

1import com.mongodb.ConnectionString
2import com.mongodb.MongoClientSettings
3import com.mongodb.client.model.*
4import com.mongodb.kotlin.client.*
5import org.bson.Document
6
7fun 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}

次のコードは、コレクションに単一のドキュメントを挿入する方法を示しています。

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 つのドキュメントを更新する方法を示しています。

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()メソッドについて詳しくは、ドキュメントの更新ガイドを参照してください。

次のコードは、コレクション内の単一のドキュメントを新しいドキュメントに置き換える方法を示しています。

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()メソッドの詳細については、ドキュメントの置換のガイドを参照してください。

次のコードは、コレクション内の 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()メソッドの詳細については、ドキュメントの削除のガイドを参照してください。

次のコードは、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()メソッドの詳細については、一括書込みのガイドを参照してください。

戻る

Stable API