MongoDB 中的数据库和集合
Overview
MongoDB 将数据记录存储为 文档(具体来说是 BSON 文档),并将其汇集在集合中。数据库会存储一个或多个文档集合。
您可以从Atlas用户界面、mongosh
或MongoDB Compass管理Atlas 集群上的 数据库 和 集合 。本页介绍如何从Atlas用户界面管理Atlas 集群上的数据库和集合。 对于自管理部署,您可以使用mongosh
或MongoDB Compass来管理数据库和集合。
选择要用于管理数据库和集合的客户端。
MongoDB Atlas是一种多云数据库服务,可简化在您选择的云提供商上部署和管理数据库的过程。
MongoDB Compass 是一个功能强大的 GUI,用于在可视化环境中查询、聚合和分析 MongoDB 数据。 要了解更多信息,请参阅MongoDB Compass。
Databases
在 MongoDB 中,数据库用于保存一个或多个文档集合。
要选择要使用的数据库,请在 mongosh
中发出 use <db>
语句,如下例所示:
use myDB
要选择要使用的数据库,请完成以下步骤:
启动MongoDB Compass并连接到您的集群。
要了解更多信息,请参阅连接到 MongoDB。
创建数据库
如需创建新数据库,请登录Atlas并执行以下操作:
如果数据库不存在,MongoDB 会在您首次向该数据库存储数据时创建该数据库。因此,您可以切换到一个不存在的数据库,并在 mongosh
中执行以下操作:
use myNewDB db.myNewCollection1.insertOne( { x: 1 } )
insertOne()
操作会同时创建数据库 myNewDB
和集合 myNewCollection1
(如果尚不存在)。确保数据库和集合名称都遵循 MongoDB 命名限制。
集合
MongoDB 将文档存储在集合中。集合类似于关系数据库中的表。
创建集合
如果集合不存在,MongoDB 会在您首次存储该集合的数据时创建该集合。
要创建新集合,请登录Atlas并执行以下操作:
db.myNewCollection2.insertOne( { x: 1 } ) db.myNewCollection3.createIndex( { y: 1 } )
如果集合不存在,则 insertOne()
和 createIndex()
操作都会创建各自的集合。确保集合名称符合 MongoDB 命名限制。
显式创建
要创建新集合,请登录Atlas并执行以下操作:
MongoDB 提供了 db.createCollection()
方法来显式创建集合,该方法有多种选项,例如设置最大大小或文档验证规则。如果不指定这些选项,则无需显式创建集合,因为 MongoDB 会在您首次向集合中存储数据时创建新集合。
要修改这些集合选项,请参阅collMod
。
文档验证
默认情况下,集合不要求其文档具有相同的模式,即单个集合中的文档不需要具有相同的字段集,并且在集合内的不同文档中,字段的数据类型可以不同。
不过,您可以在更新和插入操作期间对集合执行文档验证规则。详情参见模式验证。
对于托管在 MongoDB Atlas 中的部署,Performance Advisor 和 MongoDB Atlas 用户界面会检测常见的模式设计问题,并根据 MongoDB 最佳实践提出修改建议。要了解更多信息,请参阅模式建议。
修改文档结构
若要更改集合中文档的结构,例如添加新字段、删除现有字段或将字段值更改为新类型,请将文档更新为新结构。
Unique Identifiers
系统为集合分配了一个不可变的 UUID。集合 UUID 在副本集的所有节点和分片集群的分片中保持不变。