从 MongoDB 读取数据
Overview
在此页面上,您可以查看可复制的代码示例,这些示例展示了使用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()
方法的更多信息,请参阅 计数文档指南的检索估计计数部分。
Retrieve Distinct Values
以下示例返回给定集合中指定字段名称的所有非重复值:
val distinctResults = collection.distinct("<field name>") distinctResults.forEach { result -> print(result) }
要了解有关distinct()
方法的更多信息,请参阅“检索不同字段值”指南。
监控数据变化
以下示例为给定集合创建变更流,并打印该集合中的后续变更事件:
val changeStream = collection.watch() changeStream.forEach { changeEvent -> print(changeEvent) }
要学习;了解有关watch()
方法的更多信息,请参阅《监控数据更改》指南。