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

複数のドキュメントの挿入

MongoCollectionオブジェクトで insertMany()メソッドを呼び出すと、1 回の操作で複数のドキュメントをコレクションに挿入できます。 これらを挿入するには、 DocumentオブジェクトをListに追加し、そのListを引数としてinsertMany()に渡します。 まだ存在しないコレクションに対してinsertMany()メソッドを呼び出すと、サーバーによってコレクションが作成されます。

挿入に成功すると、 insertMany()InsertManyResultのインスタンスを返します。 InsertManyResultインスタンスでgetInsertedIds()メソッドを呼び出すと、挿入したドキュメントの_idフィールドなどの情報を検索できます。

挿入操作が失敗した場合、ドライバーは例外を発生させます。 特定の条件で発生する例外の種類の詳細については、このページの下部にリンクしているinsertMany()の API ドキュメントを参照してください。

次のスニペットは、複数のドキュメントをmoviesコレクションに挿入します。

例を実行すると、各値フィールドに挿入されたドキュメントのObjectId値を含む出力が表示されます。

注意

この例では、接続 URI を使用して MongoDB のインスタンスに接続します。 MongoDB インスタンスへの接続の詳細については、「 接続ガイド 」を参照してください。

import com.mongodb.MongoException
import com.mongodb.kotlin.client.coroutine.MongoClient
import kotlinx.coroutines.runBlocking
data class Movie(val title: String)
fun main() = runBlocking {
// Replace the uri string with your MongoDB deployment's connection string
val uri = "<connection string uri>"
val mongoClient = MongoClient.create(uri)
val database = mongoClient.getDatabase("sample_mflix")
val collection = database.getCollection<Movie>("movies")
val movieList = listOf(
Movie("Short Circuit 3"),
Movie("The Lego Frozen Movie")
)
try {
val result = collection.insertMany(movieList)
println("Success! Inserted document ids: " + result.insertedIds)
} catch (e: MongoException) {
System.err.println("Unable to insert due to an error: $e")
}
mongoClient.close()
}
Success! Inserted document ids: {0=BsonObjectId{value=...}, 1=BsonObjectId{value=...}}

このページで言及されているクラスとメソッドについて詳しくは、次の API ドキュメントを参照してください。

  • insertMany()

  • ドキュメント

  • InsertManyResult

戻る

1 つを挿入