# MongoDB 创建集合 (Collection)## 简介MongoDB 是一个 NoSQL 数据库,它使用灵活的文档模型而不是预定义的模式(schema)。在关系型数据库中,我们创建表来存储数据;在 MongoDB 中,我们创建的是
集合 (Collection)
。集合类似于关系型数据库中的表,用于存储一组文档 (Document)。 每个文档都是一个独立的 JSON-like 结构,可以包含不同类型的字段和数据。 本文将详细介绍如何在 MongoDB 中创建集合以及相关操作。## 创建集合MongoDB 不需要显式地创建集合。当您插入第一个文档到一个不存在的集合时,MongoDB 会自动创建该集合。 然而,理解一些高级的集合创建选项是有益的。### 隐式创建这是最常见且最简单的方法。只需插入文档即可:```javascript db.collectionName.insertOne( { "name": "John Doe", "age": 30 } ); ```这段代码尝试将一个文档插入名为 `collectionName` 的集合中。如果该集合不存在,MongoDB 将自动创建它。### 使用 `createCollection()` 方法 (显式创建)您可以使用 `createCollection()` 方法显式创建集合。 这允许您指定一些高级选项,例如存储引擎和容量。```javascript db.createCollection("collectionName", {capped: false, // 是否是 capped collection (有限大小的集合)size: 61457280, // capped collection 的大小 (bytes)max: 10000 // capped collection 的最大文档数 }); ```
`capped`: 指定集合是否为 capped collection。capped collection 具有固定的大小和最大文档数,适合用于日志记录等场景。 默认为 `false`。
`size`: capped collection 的大小,单位为字节。
`max`: capped collection 中允许的最大文档数。### 通过 MongoDB Compass 创建MongoDB Compass 是 MongoDB 的官方图形化管理工具,它提供了一个用户友好的界面来创建集合。 您可以直接在 Compass 中点击 "+" 号或类似的按钮来创建新的集合,无需编写任何代码。## 集合命名规范虽然 MongoDB 对集合名称没有严格的限制,但遵循一些最佳实践可以提高可读性和可维护性:
使用小写字母。
使用描述性的名称,反映集合中存储的数据。
使用下划线分隔多个单词 (例如 `user_profiles`),避免使用空格或特殊字符。
避免使用 MongoDB 的保留字。## 查看已创建的集合可以使用 `show collections` 命令查看数据库中已存在的集合:```javascript show collections ```## 删除集合可以使用 `drop()` 方法删除集合:```javascript db.collectionName.drop(); ```## 总结创建 MongoDB 集合非常简单。 虽然通常不需要显式创建,但了解 `createCollection()` 方法及其选项以及使用 Compass 创建集合的方法,对于管理您的数据库非常重要。 记住选择有意义的集合名称,并遵循命名规范,可以使您的数据库更容易维护和扩展。
MongoDB 创建集合 (Collection)
简介MongoDB 是一个 NoSQL 数据库,它使用灵活的文档模型而不是预定义的模式(schema)。在关系型数据库中,我们创建表来存储数据;在 MongoDB 中,我们创建的是 **集合 (Collection)**。集合类似于关系型数据库中的表,用于存储一组文档 (Document)。 每个文档都是一个独立的 JSON-like 结构,可以包含不同类型的字段和数据。 本文将详细介绍如何在 MongoDB 中创建集合以及相关操作。
创建集合MongoDB 不需要显式地创建集合。当您插入第一个文档到一个不存在的集合时,MongoDB 会自动创建该集合。 然而,理解一些高级的集合创建选项是有益的。
隐式创建这是最常见且最简单的方法。只需插入文档即可:```javascript db.collectionName.insertOne( { "name": "John Doe", "age": 30 } ); ```这段代码尝试将一个文档插入名为 `collectionName` 的集合中。如果该集合不存在,MongoDB 将自动创建它。
使用 `createCollection()` 方法 (显式创建)您可以使用 `createCollection()` 方法显式创建集合。 这允许您指定一些高级选项,例如存储引擎和容量。```javascript db.createCollection("collectionName", {capped: false, // 是否是 capped collection (有限大小的集合)size: 61457280, // capped collection 的大小 (bytes)max: 10000 // capped collection 的最大文档数 }); ```* `capped`: 指定集合是否为 capped collection。capped collection 具有固定的大小和最大文档数,适合用于日志记录等场景。 默认为 `false`。 * `size`: capped collection 的大小,单位为字节。 * `max`: capped collection 中允许的最大文档数。
通过 MongoDB Compass 创建MongoDB Compass 是 MongoDB 的官方图形化管理工具,它提供了一个用户友好的界面来创建集合。 您可以直接在 Compass 中点击 "+" 号或类似的按钮来创建新的集合,无需编写任何代码。
集合命名规范虽然 MongoDB 对集合名称没有严格的限制,但遵循一些最佳实践可以提高可读性和可维护性:* 使用小写字母。 * 使用描述性的名称,反映集合中存储的数据。 * 使用下划线分隔多个单词 (例如 `user_profiles`),避免使用空格或特殊字符。 * 避免使用 MongoDB 的保留字。
查看已创建的集合可以使用 `show collections` 命令查看数据库中已存在的集合:```javascript show collections ```
删除集合可以使用 `drop()` 方法删除集合:```javascript db.collectionName.drop(); ```
总结创建 MongoDB 集合非常简单。 虽然通常不需要显式创建,但了解 `createCollection()` 方法及其选项以及使用 Compass 创建集合的方法,对于管理您的数据库非常重要。 记住选择有意义的集合名称,并遵循命名规范,可以使您的数据库更容易维护和扩展。