ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 在 MongoDB 中创建集合 > 原文: [https://beginnersbook.com/2017/09/mongodb-create-collection/](https://beginnersbook.com/2017/09/mongodb-create-collection/) 我们知道 MongoDB 中的数据是以文档的形式存储的。这些文档存储在集合中,集合存储在数据库中。在上一篇教程中,我们学习了[如何在 MongoDB](https://beginnersbook.com/2017/09/mongodb-create-database/) 中创建数据库。在本指南中,我将向您展示在 MongoDB 中创建集合的两种方法。 ## 方法 1:动态创建 MongoDB 中的集合 MongoDB 很酷的一点是,在将文档插入其中之前不需要创建集合。使用单个命令,您可以在集合中插入文档,MongoDB 即时创建该集合。 语法:`db.collection_name.insert({key: value, key: value ...})` 例如:我们在数据库`beginnersbookdb`中没有集合`beginnersbook`。此命令将动态创建名为`beginnersbook`的集合,并使用指定的键和值对在其中插入文档。 ```js > use beginnersbookdb switched to db beginnersbookdb db.beginnersbook.insert({ name: "Chaitanya", age: 30, website: "beginnersbook.com" }) ``` 您将在命令提示符中看到此响应。 ```js WriteResult({ "nInserted" : 1 }) ``` ![Creating collection on the fly MongoDB](https://img.kancloud.cn/ab/cc/abcc13a15e5e450ff77bb182a2c0d51d_416x195.jpg) 要检查文档是否已成功插入,请键入以下命令。它显示给定集合中的所有文档。 语法:`db.collection_name.find()` ```js > db.beginnersbook.find() { "_id" : ObjectId("59bcb8c2415346bdc68a0a66"), "name" : "Chaitanya", "age" : 30, "website" : "beginnersbook.com" } ``` ![verifying that collection is created successfully](https://img.kancloud.cn/a5/e6/a5e6fc1b84b7d4d1679940fd97b77379_478x195.jpg) 要检查是否已成功创建集合,请使用以下命令。 ```js show collections ``` 此命令显示当前所选数据库中所有集合的列表。 ```js > show collections beginnersbook ``` ## 方法 2:在插入文档之前使用选项创建集合 我们还可以在实际插入数据之前创建集合。此方法为您提供了在创建集合时可以设置的选项。 语法: ```js db.createCollection(name, options) ``` `name`是集合名称,`options`是一个可选字段,我们可以用它来指定集合中的某些参数,如大小,文档的最大数量等。 首先让我们看看这个命令如何用于创建没有任何参数的集合: ```js > db.createCollection("students") { "ok" : 1 } ``` ![Collection without options](https://img.kancloud.cn/41/28/412889eb4ec5175eadb5086c7cfd1f8b_386x149.jpg) 让我们看看我们在创建集合时可以提供的选项: `capped`:类型:布尔值。 此参数仅为`true`和`false`。这指定了集合可以拥有的最大条目的上限。一旦集合达到该限制,它就会开始覆盖旧条目。 这里需要注意的是,当您将`capped`选项设置为`true`时,您还必须指定`size`参数。 `size`:类型:数字。 指定集合的​​最大大小(上限集合),以字节为单位。 `max`:类型:数字。 指定集合可容纳的最大文档数。 `autoIndexId`:类型:布尔值 此参数的默认值为`false`。如果将其设置为`true`,则会自动为每个文档创建索引字段`_id`。我们将在 MongoDB 索引教程中了解索引。 让我们看一个上限集合的例子: ```js db.createCollection("teachers", { capped : true, size : 9232768} ) { "ok" : 1 } ``` 此命令将创建名为`teachers`的集合,其最大大小为 9232768 字节。一旦此集合达到该限制,它将开始覆盖旧条目。 ![Creating capped collection in MongoDB](https://img.kancloud.cn/e1/9e/e19e049ab67a264c1ab67b6b8000d87d_386x177.jpg)