MongoDB创建集合
MongoDB 中的集合是一组文档的组合,类似于关系型数据库(例如 MySQL)中的数据表。集合存在于数据库中,且没有固定的结构,您可以向集合中插入不同格式或类型的数据。
在 MongoDB 中,您可以使用 createCollection() 方法来创建集合,语法格式如下:
当我们在集合中插入文档时,MongoDB 会首先检查固定集合的 size 字段,然后检查 max 字段。
【示例】创建一个名为“bianchengbang”的数据库,并创建一个名为“user”的集合:
在 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