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

插入文档

您可以使用以下方法将单个文档插入到集合中:insertOne() 方法在 MongoCollection 对象上。要插入一个文档,构造一个包含您要存储的字段和值的 Document 对象。如果您在一个尚不存在的集合上调用 insertOne() 方法,服务器将自动为您创建它。

成功插入后,insertOne() 返回一个 InsertOneResult 实例。您可以通过在 InsertOneResult 实例上调用 getInsertedId() 方法来获取您插入的文档的 _id 字段信息。

如果您的插入操作失败,驱动程序将引发一个异常。有关特定条件下引发异常的类型的信息,请参阅此页底部链接的 insertOne() 的 API 文档。

以下代码片段将单个文档插入到 movies 集合中。

运行示例后,您应该会在输出中看到插入的文档的 ObjectId 值。

注意

此示例使用连接 URI 连接到 MongoDB 的一个实例。有关连接到您的 MongoDB 实例的更多信息,请参阅连接指南.

import com.mongodb.MongoException
import com.mongodb.kotlin.client.coroutine.MongoClient
import kotlinx.coroutines.runBlocking
import org.bson.codecs.pojo.annotations.BsonId
import org.bson.types.ObjectId
data class Movie(@BsonId val id: ObjectId, val title: String, val genres: List<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")
try {
val result = collection.insertOne(
Movie(ObjectId(), "Ski Bloopers", listOf("Documentary", "Comedy"))
)
println("Success! Inserted document id: " + result.insertedId)
} catch (e: MongoException) {
System.err.println("Unable to insert due to an error: $e")
}
mongoClient.close()
}
Success! Inserted document id: BsonObjectId{value=...}

有关本页上提到的类和方法的其他信息,请参阅以下 API 文档

  • insertOne()

  • Document

  • InsertOneResult

返回

插入