从 MongoDB 读取数据
概述
在本页中,您可以查看可复制代码示例,展示了您可以使用 Kotlin Sync 驱动程序检索文档的常用方法。
提示
要了解更多关于本页上显示的任何方法的信息,请参阅每个部分中提供的相关指南链接。
要使用本页上的示例,请将代码示例复制到示例应用程序或您自己的应用程序中。确保将代码示例中的所有占位符(例如<connection string URI>
),替换为您的 MongoDB 部署的相关值。
示例应用程序
您可以使用以下示例应用程序来测试本页上的代码示例。要使用示例应用程序,请按照以下步骤操作
确保您已在 Maven 或 Gradle 项目中安装了 Kotlin Sync 驱动程序。
复制以下代码并将其粘贴到新的
.kt
文件中。从本页复制一个代码示例并将其粘贴到文件中的指定行。
1 import com.mongodb.ConnectionString 2 import com.mongodb.MongoClientSettings 3 import com.mongodb.client.model.* 4 import com.mongodb.kotlin.client.* 5 import org.bson.Document 6 7 fun main() { 8 val uri = "<connection string URI>" 9 10 val settings = MongoClientSettings.builder() 11 .applyConnectionString(ConnectionString(uri)) 12 .retryWrites(true) 13 .build() 14 15 // Create a new client and connect to the server 16 val mongoClient = MongoClient.create(settings) 17 val database = mongoClient.getDatabase("<database name>") 18 val collection = database.getCollection<Document>("<collection name>") 19 20 // Start example code here 21 22 // End example code here 23 }
提示
有关安装 Kotlin Sync 驱动程序的说明,请参阅下载和安装.
查找文档
以下示例检索符合给定过滤器条件的文档列表
val filter = <filter> val results = collection.find(filter) results.forEach { result -> print(result) }
了解关于 find()
方法的更多信息,请参阅查找文档指南。
在集合中计算文档数量
以下示例返回指定集合中的文档数量
val count = collection.countDocuments() print(count)
了解关于 countDocuments()
方法的更多信息,请参阅获取准确计数部分的文档计数指南。
查询返回的文档计数
以下示例返回匹配给定过滤器指定条件的文档数量
val filter = <filter> val queryCount = collection.countDocuments(filter) print(queryCount)
了解关于 countDocuments()
方法的更多信息,请参阅获取准确计数部分的文档计数指南。
估计文档数量
以下示例返回基于集合元数据的指定集合中文档的大约数量
val estimatedCount = collection.estimatedDocumentCount() print(estimatedCount)
了解关于 estimatedDocumentCount()
方法的更多信息,请参阅获取估计计数部分的文档计数指南。
检索唯一值
以下示例返回给定集合中指定字段名的所有唯一值
val distinctResults = collection.distinct("<field name>") distinctResults.forEach { result -> print(result) }
要了解有关 distinct()
方法的更多信息,请参阅检索唯一字段值指南。
监控数据变化
以下示例为给定集合创建一个变化流,并打印出该集合中的后续变化事件
val changeStream = collection.watch() changeStream.forEach { changeEvent -> print(changeEvent) }
要了解有关 watch()
方法的更多信息,请参阅监控数据变化指南。