编辑这个页面须要登录或更高权限!

MongoDB 创建集合

在本章中,我们将看到如何使用MongoDB创建集合。

createCollection()方法

db.createCollection(name, options)用于 MongoDB 创建集合。

语法

createCollection()命令的基本语法如下-

db.createCollection(name, options)

在命令中,name是要创建的集合的名称。Options是文档,用于指定集合的配置。

参数类型描述
Name字符串要创建的集合的名称
Options文档
(可选) 指定有关内存大小和索引的选项

Options参数是可选的,因此您只需指定集合的名称。以下是您可以使用的选项列表-

字段
类型描述
capped布尔型(可选)如果为true,则启用上限集合。上限集合是一个固定大小的集合,当其达到最大大小时会自动覆盖其最早的条目。

如果指定为true,还需要指定size参数。

autoIndexId布尔型(可选) 如果为true,则自动在_id字段上创建索引。s默认值为false。
size数字(可选)指定上限集合的最大大小(以字节为单位)。如果capped为true,则还需要指定此字段。
max数字(可选)指定上限集合中允许的最大文档数。

插入文档时,MongoDB首先检查上限集合的size字段,然后检查max字段。

实例

createCollection()没有选项(Options)的方法的基本语法如下-

>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }
>

您可以使用命令 show collections 检查创建的集合。

>show collections
mycollection
system.indexes

 以下示例显示 createCollection()方法的语法,其中包含几个重要选项:

> db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } ){
"ok" : 0,
"errmsg" : "BSON field 'create.autoIndexID' is an unknown field.",
"code" : 40415,
"codeName" : "Location40415"
}
>

在MongoDB中,您无需创建集合。当您插入某些文档时,MongoDB会自动创建集合。

>db.nhooo.insert({"name" : "nhooo"}),
WriteResult({ "nInserted" : 1 })
>show collections
mycol
mycollection
system.indexes
nhooo
>