MongoDB 基础教程

MongoDB 高级教程

MongoDB 笔记

MongoDB 创建集合(表)命令详解


在 MongoDB 中没有像关系型数据库那样的表的概念,取而代之的是集合(collection),创建集合采用 db.createCollection 命令。

命令详解

命令语法

命令的格式如下:

> db.createCollection(name, options)

其中,name 是所要创建的集合名称;options 是一个用来指定集合额外的配置项。

参数 类型 描述
name 字符串 (必选项),指定要创建的集合名称。
options 文档 (可选项),指定有关内存大小等配置信息。

 可选项 options 参数有如下可配置项:

字段 类型 描述 备注
capped 布尔 (可选项),表示是否创建固定集合,默认为 false;若为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当设置 true 时,必须指定 size 参数  
autoIndexId 布尔 (可选项),表示是否在 _id 字段上创建索引,默认为 false;若为 true,自动在 _id 字段创建索引。 从 3.2 版开始不推荐使用。
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 会自动创建集合