MongoDB创建集合

 
MongoDB 中的集合是一组文档的组合,类似于关系型数据库(例如 MySQL)中的数据表。集合存在于数据库中,且没有固定的结构,您可以向集合中插入不同格式或类型的数据。

在 MongoDB 中,您可以使用 createCollection() 方法来创建集合,语法格式如下:

db.createCollection(name, options)

参数说明如下:
  • name: 要创建的集合名称;
  • options: 可选参数, 指定有关内存大小及索引的选项,可选值如下表所示:

字段 类型 描述
capped 布尔 (可选)如果为 true,则创建固定集合,固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档,注意:如果该值为 true,则必须指定 size 参数
autoIndexId 布尔 (可选)如为 true,则自动在 _id 字段创建索引,默认为 false,注意:MongoDB 3.2 之后不再支持该参数
size 数值 (可选)为固定集合指定一个最大值,即字节数,如果 capped 为 true,则需要指定该字段
max 数值 (可选)指定固定集合中包含文档的最大数量

当我们在集合中插入文档时,MongoDB 会首先检查固定集合的 size 字段,然后检查 max 字段。

【示例】创建一个名为“bianchengbang”的数据库,并创建一个名为“user”的集合:
> use bianchengbang
switched to db bianchengbang
> db.createCollection("user")
{ "ok" : 1 }
集合创建完成后,您可以使用 show collections 命令或者 show tables 命令来查看数据库中的集合:
> show collections
user
> show tables
user
【示例】创建固定集合“mycol”,整个集合空间大小为 102400 KB, 文档最大个数为 1000 个。
> db.createCollection("mycol", { capped : true, autoIndexId : true, size : 102400, max : 1000 } )
{
    "note" : "the autoIndexId option is deprecated and will be removed in a future release",
    "ok" : 1
}
> show tables
mycol
user
虽然 MongoDB 中提供了单独的创建集合的方法,但通常我们不需要手动创建集合,因为当您在插入文档时,MongoDB 会自动创建集合,如下所示:
> db.website.insert({name:"编程帮", url:"www.biancheng.net"})
WriteResult({ "nInserted" : 1 })
> show tables
mycol
user
website