在 MongoDB 中没有像关系型数据库那样的表的概念,取而代之的是集合(collection),创建集合采用 db.createCollection
命令。
命令详解
命令语法
命令的格式如下:
> db.createCollection(name, options)
其中,name
是所要创建的集合名称;options
是一个用来指定集合额外的配置项。
参数 | 类型 | 描述 |
---|---|---|
name | 字符串 | (必选项),指定要创建的集合名称。 |
options | 文档 | (可选项),指定有关内存大小等配置信息。 |
可选项 options 参数有如下可配置项:
字段 | 类型 | 描述 | 备注 |
---|---|---|---|
capped | 布尔 | (可选项),表示是否创建固定集合,默认为 false;若为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当设置 true 时,必须指定 size 参数。 | |
size | 数值 | (可选项),为固定集合指定一个最大值(单位:字节)。当 capped 为 true 时,必须指定该字段。 | |
max | 数值 | (可选项),指定固定集合中包含文档的最大数量。 |
命令范例
首先进入指定数据库的上下文:
> use test
switched to db test
创建最普通的集合:
> db.createCollection("myCollection")
{ "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1603700331, 1), "signature" : { "hash" : BinData(0,"fYNRt1/PUBa2m3ExFLdq2taTNTs="), "keyId" : NumberLong("6886656746882859010") } }, "operationTime" : Timestamp(1603700331, 1) }
创建固定大小的集合,需要借助一些参数:
> db.createCollection("mycol", { capped : true, size : 6142800, max : 10000 })
此外,当插入的数据对应的集合不存在时,MongoDB 会自动创建集合。