Overview
在本指南中,您可以学习;了解如何通过Kotlin Sync驾驶员使用MongoDB数据库和集合。
MongoDB 将数据组织成以下级别的层次结构:
数据库: MongoDB 部署中用于存储集合的顶级数据结构。
集合: MongoDB文档组。 它们类似于关系数据库中的表。
文档:存储字面数据(例如string 、数字、日期和其他嵌入式文档)的单位。 有关文档字段类型和结构的更多信息,请参阅MongoDB Server手册中的文档指南。
访问数据库
要访问权限数据库,请将数据库名称传递给 getDatabase()
方法。
以下示例将访问名为test_database
的数据库:
val db = client.getDatabase("test_database")
访问集合
要访问权限集合,请将数据库名称传递给 getCollection()
方法。
以下示例访问名为 test_collection
的集合:
val collection = db.getCollection("test_collection")
提示
如果提供的集合名称在数据库中尚不存在,则当您首次向其中插入数据时,MongoDB 会隐式创建该集合。
创建集合
要在MongoDB 数据库中显式创建集合,请将集合名称传递给 createCollection()
方法。
以下示例创建了一个名为example_collection
的collection:
db.createCollection("example_collection")
您可以通过在 CreateCollectionOptions
实例中设置来指定集合选项,例如最大大小和文档验证规则。然后,将 CreateCollectionOptions
传递给 createCollection()
方法。有关可选参数的完整列表,请参阅 CreateCollectionOptions API文档。
获取集合列表
您可以通过调用listCollections()
方法来查询数据库中的集合列表。 该方法返回一个游标,其中包含数据库中的所有集合及其关联的元数据。
以下示例调用listCollections()
方法并对返回的迭代器进行迭代,以打印访问集合和创建集合示例中的集合:
val results = db.listCollections() val jsonSettings = JsonWriterSettings.builder().indent(true).build() results.forEach { result -> println(result.toJson(jsonSettings)) }
{ "name": "example_collection", "type": "collection", "options": {}, "info": { "readOnly": false, ... }, "idIndex": { ... } } { "name": "test_collection", "type": "collection", "options": {}, "info": { "readOnly": false, ... }, "idIndex": { ... } }
删除集合
要从数据库中删除集合,请对集合调用 drop()
方法。
以下示例删除test_collection
集合:
db.getCollection("test_collection").drop()
警告
删除集合会删除该集合中的所有数据
从数据库中删除集合会永久删除该集合中的所有文档和所有索引。
仅当不再需要集合中的数据时才删除集合。
配置读取和写入操作
您可以通过指定读取偏好(read preference)、读关注(read concern)或写关注(write concern)来控制写入操作在副本集上的运行方式。
默认下,数据库会从 MongoClient
实例继承写入设置。集合从调用 getCollection()
方法的 MongoClient
或 MongoDatabase
实例继承这些设置。您可以通过调用以下方法更改这些设置:
如需学习;了解有关设置读取偏好(read preference)、读关注(read concern)和写关注(write concern)的更多信息,请参阅 Configure 增删改查操作指南。
API 文档
要进一步了解本指南所讨论的任何方法或类型,请参阅以下 API 文档: