MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs 菜单
Docs 主页
/

MongoDB 中的数据库和集合

MongoDB 将数据记录存储为 文档(具体来说是 BSON 文档),并将其汇集在集合中。数据库会存储一个或多个文档集合。

您可以从Atlas用户界面、mongosh 或MongoDB Compass管理Atlas 集群上的 数据库 集合 。本页介绍如何从Atlas用户界面管理Atlas 集群上的数据库和集合。 对于自管理部署,您可以使用mongosh或MongoDB Compass来管理数据库和集合。

选择要用于管理数据库和集合的客户端。

MongoDB Atlas是一种多云数据库服务,可简化在您选择的云提供商上部署和管理数据库的过程。

MongoDB Shellmongosh是一个JavaScript和 Node.js REPL环境,用于与MongoDB部署进行交互。 要学习;了解更多信息,请参阅mongosh。

MongoDB Compass 是一个功能强大的 GUI,用于在可视化环境中查询、聚合和分析 MongoDB 数据。 要了解更多信息,请参阅MongoDB Compass。

在 MongoDB 中,数据库用于保存一个或多个文档集合。

要选择要使用的数据库,登录Atlas并转到项目的 Data Explorer 页面。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

2

在侧边栏中,单击 Database 标题下的 Data Explorer

显示数据浏览器

要选择要使用的数据库,请在 mongosh 中发出 use <db> 语句,如下例所示:

use myDB

要选择要使用的数据库,请完成以下步骤:

1

要了解更多信息,请参阅连接到 MongoDB。

2

Databases标签页打开,列出MongoDB 部署的现有数据库。

要在Atlas中创建新数据库,请执行以下步骤:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Database 标题下的 Data Explorer

    显示数据浏览器

2

Connections 侧边栏中,选择集群或将鼠标悬停在集群上,然后单击 图标打开Create Database 对话框。

3

输入 Database NameCollection Name,创建数据库及其第一个集合。

如果想要在集合上使用自定义排序规则,请勾选 Use Custom Collation(使用自定义排序规则)复选框并选择所需的排序规则设置。

重要

不要在数据库和集合名称中包含敏感信息。

有关MongoDB 数据库名称和集合名称的更多信息,请参阅命名限制。

4

选择该数据集是否为时间序列集合。如果选择创建时间序列集合,请指定时间字段和粒度。您可以选择指定元字段以及使集合中旧数据过期的时间。

5

成功创建后,数据库和集合将显示在 Connections 侧边栏中。

如果数据库不存在,MongoDB 会在您首次向该数据库存储数据时创建该数据库。因此,您可以切换到一个不存在的数据库,并在 mongosh 中执行以下操作:

use myNewDB
db.myNewCollection1.insertOne( { x: 1 } )

insertOne() 操作会同时创建数据库 myNewDB 和集合 myNewCollection1(如果尚不存在)。确保数据库和集合名称都遵循 MongoDB 命名限制。

1
2
3
4

MongoDB 将文档存储在集合中。集合类似于关系数据库中的表。

MongoDB 文档的集合。
点击放大

如果集合不存在,MongoDB 会在您首次存储该集合的数据时创建该集合。

要在Atlas中创建新集合,请执行以下步骤:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Database 标题下的 Data Explorer

    显示数据浏览器

2

选择数据库或将鼠标悬停在数据库上,然后单击 图标打开Create Collection 对话框。

3

Create Collection 对话框中,输入要创建的集合的名称。

MongoDB Atlas还提供 Additional preferences。您可以从以下选项中进行选择:

重要

请勿在集合名称中包含敏感信息。

有关MongoDB集合名称的更多信息,请参阅命名限制。

4

选择该数据集是否为时间序列集合。如果选择创建时间序列集合,请指定时间字段和粒度。您可以选择指定元字段以及使集合中旧数据过期的时间。

5

成功创建后,该集合会显示在 Connections 侧边栏中的数据库下方。

db.myNewCollection2.insertOne( { x: 1 } )
db.myNewCollection3.createIndex( { y: 1 } )

如果集合不存在,则 insertOne()createIndex() 操作都会创建各自的集合。确保集合名称符合 MongoDB 命名限制

1
2
3
4

MongoDB 提供了 db.createCollection() 方法来显式创建集合,该方法有多种选项,例如设置最大大小或文档验证规则。如果不指定这些选项,则无需显式创建集合,因为 MongoDB 会在您首次向集合中存储数据时创建新集合。

要修改这些集合选项,请参阅collMod

1
2
3
4

MongoDB Compass提供了以下附加偏好,您可以为您的集合进行配置:

默认情况下,集合不要求其文档具有相同的模式,即单个集合中的文档不需要具有相同的字段集,并且在集合内的不同文档中,字段的数据类型可以不同。

但是,您可在更新与插入操作期间对集合执行模式验证规则。有关详细信息,请参阅模式验证

对于托管在 MongoDB Atlas 中的部署,Performance Advisor 和 MongoDB Atlas 用户界面会检测常见的模式设计问题,并根据 MongoDB 最佳实践提出修改建议。要了解更多信息,请参阅模式建议

若要更改集合中文档的结构,例如添加新字段、删除现有字段或将字段值更改为新类型,请将文档更新为新结构。

系统为集合分配了一个不可变的 UUID。集合 UUID 在副本集的所有节点和分片集群的分片中保持不变。

要检索集合的 UUID,可运行 listCollections 命令或 db.getCollectionInfos() 方法。

后退

文档 (Document)

在此页面上