插入多个文档
您可以通过调用来在一个操作中将多个文档插入到集合中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 文档