0
点赞
收藏
分享

微信扫一扫

和我一起学MongoDB(十二)MongoDB基础操作:集合操作

墨春 2022-02-10 阅读 133

@toc

集合管理

MongoDB中的集合主要用户保存文档,类似于关系型数据库中的表格(Table)。

集合名称规则

在MongoDB中创建集合时,首先需要定义集合的名称。集合的名称有以下5个规则:

  • 集合名称的第一个字符必须是字母
  • 集合名称不可以包含$符号,因为$是MongoDB中的系统保留字符
  • 集合名称中不可以包含空格
  • 集合名称不可以用system.开头
  • 集合名称不可以超过128字符

    集合基本操作

    创建集合

    创建集合有两种方法

  • 直接插入文档
    在插入文档时,如果集合不存在,会自动创建集合。参考 插入文档的特点
  • 使用db.createCollection()
    db.createCollection(name, options)
参数说明
字段
类型 说明
capped boolean 是否为固定集合,设置为true表示是固定集合,需要搭配size设置集合大小
size number 固定集合的大小,搭配capped使用。当文档超过设定的大小时,会自动删除旧文档为新文档腾出空间
max number 固定集合可存放的文档数。当文档数超过设置的大小时,MongoDB自动删除旧文档。
storageEngine document 集合的存储引擎
validator document 数据校验
validationLevel string 数据校验对现有文档的严格程度
validationAction string 数据校验如何处理违反校验规则的文档
indexOptionDefaults document 索引使用的存储引擎

数据校验相关配置参考 数据校验

删除集合

db.collection.drop()
示例:删除Product集合
db.Product.drop()

查询集合

查询当前数据库中有哪些集合,可以使用以下两种方法:
show collections
show tables

固定集合

固定集合,就是一个拥有固定大小的集合。这种集合会依照文档的顺序插入数据,并将插入的数据写入磁盘。如果在插入数据时发现固定集合超过了分配给它的空间,则会删除旧文档来释放空间,让新的文档可以插入。

特点和限制

固定集合的特点

  • 写入的速度非常快
  • 在查询有顺序性质的文档时,查询速度会很快
  • 可以在写入新数据时删除最旧的数据
  • 可用在记录日志信息的应用中

    固定集合的限制

  • 创建后不能更改固定大小。如果要更改大小,必须先删除固定集合再重新创建
  • 不能使用delete集合删除固定集合中的文档,只能使用drop指定删除固定集合中的所有文档
  • 固定集合不能被分片
  • 不能将聚合中的$out的结果接入到固定集合
  • 固定集合与TTL索引不兼容

    固定集合操作

    创建固定集合

    db.createCollection() 创建新的固定集合
    db.runCommand() 将已经存在的普通集合转换成固定集合
    示例

    
    # 创建一个名称为product的固定集合,大小为200000 byte,可存放的文档数量最多为2000
    db.createCollection("product",{capped:true,size:200000,max:2000})

将foodColor集合更改为固定集合,大小为50000 byte,最多存放500个文档

db.runCommand({"convertToCapped":"foodColor",size:50000,max:500})


### 查询集合是否为固定集合
[`db.collection.isCapped()`](https://docs.mongodb.com/v4.4/reference/method/db.collection.isCapped/)
示例:查询product集合是否为固定集合
`db.product.isCapped()`
结果true表示是固定集合,false不是固定集合
### 查询集合的详细信息
`db.getCollectionInfos({name:"product"})`
举报

相关推荐

0 条评论