1.创建集合
创建集合有两种方式,即显式创建集合和隐式创建集合两种
# 显式创建集合
db.createCollection(collection_name,[options])
# 隐式创建集合
db.collection_name.insert(document)
MongoDB使用db.createCollection()函数来创建集合。
语法格式:db.createCollection(name, options)。
- name: 要创建的集合名称。
- options: 可选参数, 指定有关内存大小及索引的选项。
options 可以是如下参数:
字段
类型
类型
capped
布尔
(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数
autoindexid
布尔
(可选)如为 true,自动在 _id 字段自动创建索引。默认为false
size
数值
(可选)为固定集合指定一个最大值(以字节为单位)。如果 capped 为 true,也需要指定该字段。
size 小于等于4096,那集合固定为 4096 bytes大小。否则MongoDB会使得size始终为256的整数倍。
max
数值
(可选)指定固定集合中包含文档的最大数量。设置max时必须设置capped和size
固定集合 :两个限制条件,只要有任意一个限制条件满足,集合都会开始将更古老的数据删除。固定集合一旦创建成功就不能再修改,想修改只能删除重来,可以通过 db.collection_name.isCapped() 查询
在插入文档时,MongoDB首先检查固定集合的size字段,然后检查max字段
1.1 创建不带参数的集合
我们也可以根据自身情况来创建集合,该集合创建时不需要指定任何参数,如果开启认证,则使用具有管理员权限的用户来创建集合;
> db.createCollection("bbb")
{ "ok" : 1 }
> show collections
bbb
ccc
>
1.2 创建包含选项的集合
所有选项写在createCollection第二个参数{}中
db.createCollection(“c2”,{“max”:2,capped:true,size:100000})
2. 查看集合
进入到集合所在数据库
use ccc
2.1 使用show tables或show collections查看
show collections
2.2 查看集合详情信息
db.集合名称.stats()
2.3 判断定长集合
# 判断是否为定长集合
db.collection_name.isCapped()
改语法表示判断在当前数据库中的指定集合是否为定长集合。isCapped方法用于判断指定的集合是否为定长集合,返回布尔类型。下面对myCollection2和myCollection3做示范
db.collection_name.isCapped()
结果返回如下
3.删除集合
进入到集合所在数据库
use ccc
删除指定集合
db.集合名.drop()
> show tables
bbb
ccc
> db.bbb.drop()
true
4.清空集合
db.collection_name.remove({})
注意此处清空{},实则清空collection_name集合下的所有文档,必须用{}进行引用(也可以单独清空某一个文档)。下面清空myCollection2集合