Docs 菜单
Docs 主页
/ / /
Kotlin 协程
/ /

插入多个文档

您可以通过调用对象上的insertMany() MongoCollection方法,在单个操作中将多个文档插入到一个collection中。要插入它们,请将Document对象添加到List中,并将List作为参数传递给insertMany() 。 如果对尚不存在的集合调用insertMany()方法,服务器则会创建该集合。

插入成功后, insertMany()会返回InsertManyResult的实例。 您可以通过对实例InsertManyResult调用getInsertedIds()方法来检索信息,例如所插入文档的_id字段。

如果插入操作失败,驱动程序会引发异常。 有关特定条件下引发的异常类型的更多信息,请参阅本页底部链接的insertMany()的 API 文档。

以下代码段将多个文档插入到moviescollection中。

运行该示例时,应看到输出,其中每个值字段中包含插入文档的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

后退

insertOne