【MongoDB】创建集合
集合也可以不用特意的创建,因为集合没有固定的格式,所以,可以通过插入文档的方式,自动创建集合。当然,MongoDB也有创建集合的语法
1 |
db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>} ) |
参数 | 类型 | 描述 |
---|---|---|
name | 字符型 | 要创建的集合的名称 |
capped | 布尔型 | (可选)如果为true,则启用封闭的集合。上限集合是固定大小的集合,它在达到其最大大小时自动覆盖其最旧的条目。 如果指定true,则还需要指定size参数。 |
autoIndexId | 布尔型 | (可选)如果为true,则在_id字段上自动创建索引。默认值为false。 |
size | 数值型 | (可选)指定上限集合的最大大小(以字节为单位)。 如果capped为true,那么还需要指定此字段的值。 |
max | 数值型 | (可选)指定上限集合中允许的最大文档数。 |
注:size的优先级高于max
1:默认值创建集合
1 2 3 4 5 |
> db.createCollection("t1") { "ok" : 1 } > show collections t1 > |
2:限制集合空间大小
1 2 3 4 5 6 7 8 |
# capped默认值为true,所以也可以写为db.createCollection("t2",{size:1024}) > db.createCollection("t2",{capped:true,size:1024}) { "ok" : 1 } > show collections t1 t2 > # 注:当超出限制的1M大小,那么会自动删除最早插入的记录 |
3:限制集合最大文档数
1 2 3 |
> db.createCollection("t3",{max:5000}) { "ok" : 1 } > |
4:同时限制记录数及空间大小
1 2 3 |
> db.createCollection("t4",{size:1024,max:5000}) { "ok" : 1 } > |