MongoDB 中的数据库和集合
概述
MongoDB 以以下方式存储数据记录文档(特别是 BSON 文档)被收集到 集合 中。数据库存储一个或多个文档集合。
您可以从以下方式管理:数据库 和 集合,在 Atlas 集群中,通过 Atlas UI,mongosh
或MongoDB Compass。此页描述了如何通过 Atlas UI 管理Atlas集群中的数据库和集合。对于自管理的部署,您可以使用 mongosh
或MongoDB Compass来管理数据库和集合。
选择您想要用于管理数据库和集合的客户端。
MongoDB Atlas 是一种多云数据库服务,可简化在您选择的云服务提供商上部署和管理数据库。
MongoDB Compass 是一个强大的图形用户界面,用于在可视化环境中查询、聚合和分析您的 MongoDB 数据。有关更多信息,请参阅 MongoDB Compass。
数据库
在 MongoDB 中,数据库包含一个或多个文档集合。
要选择要使用的数据库,在 mongosh
中,使用 use <db>
语句,例如以下示例
use myDB
要选择要使用的数据库,请完成以下步骤
开始MongoDB Compass并连接到您的集群。
了解更多信息,请参阅 连接到 MongoDB。
创建数据库
如果数据库不存在,MongoDB会在您第一次为该数据库存储数据时创建数据库。因此,您可以切换到不存在的数据库,并在mongosh
:
use myNewDB db.myNewCollection1.insertOne( { x: 1 } )
insertOne()
操作会在数据库myNewDB
和集合myNewCollection1
不存在时创建它们。请确保数据库和集合名称遵循MongoDB 命名限制。
集合
MongoDB 在集合中存储文档。集合类似于关系数据库中的表。
创建一个集合
如果集合不存在,MongoDB会在您首次存储该集合的数据时创建该集合。
db.myNewCollection2.insertOne( { x: 1 } ) db.myNewCollection3.createIndex( { y: 1 } )
如果集合不存在,则 insertOne()
和 createIndex()
操作将分别创建它们各自的集合。请确保集合名称符合 MongoDB 命名限制。
显式创建
MongoDB 提供了 db.createCollection()
方法来显式创建集合,并设置各种选项,例如设置最大大小或文档验证规则。如果您没有指定这些选项,则不需要显式创建集合,因为 MongoDB 在您第一次为集合存储数据时会自动创建新集合。
要修改这些集合选项,请参阅 collMod
。
文档验证
默认情况下,集合不需要其文档具有相同的模式;即单个集合中的文档不需要具有相同的字段集合,字段的数据类型也可以在集合内的文档中不同。
但是,您可以在更新和插入操作期间为集合强制执行文档验证规则。有关详细信息,请参阅模式验证。
对于托管在MongoDB Atlas中的部署,性能顾问和MongoDB Atlas UI可以检测常见的模式设计问题,并提出遵循MongoDB最佳实践的修改建议。有关更多信息,请参阅模式建议。
修改文档结构
要更改集合中文档的结构,例如添加新字段、删除现有字段或将字段值更改为新类型,请将文档更新为新结构。
唯一标识符
集合被分配了一个不可变的 UUID。集合 UUID 在副本集和分片集群的所有分片中保持不变。