文档菜单
文档首页
/ / /
Kotlin 协程
/ /

插入多个文档

您可以通过调用来在一个操作中将多个文档插入到集合中insertMany() 方法用于在 MongoCollection 对象上。要插入它们,将你的 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()

  • Document

  • InsertManyResult

返回

插入单个文档