开心档-软件开发入门之MongoDB 固定集合

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 本章将会讲解MongoDB 固定集合(Capped Collections)

   image.gif

  • 作者简介:每天分享MongoDB教程的学习经验、和学习笔记。
  • 座右铭:有自制力,做事有始有终;学习能力强,愿意不断地接触学习新知识。
  • 个人主页: 雪奈ie的主页

前言

本章将会讲解MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素!

目录

MongoDB 固定集合(Capped Collections)

创建固定集合

固定集合查询

固定集合的功能特点

固定集合属性及用法

属性

用法


MongoDB 固定集合(Capped Collections)

MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素!


创建固定集合

我们通过createCollection来创建一个固定集合,且capped选项设置为true:

>db.createCollection("cappedLogCollection",{capped:true,size:10000})

image.gif

还可以指定文档个数,加上max:1000属性:

>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})

image.gif

判断集合是否为固定集合:

>db.cappedLogCollection.isCapped()

image.gif

如果需要将已存在的集合转换为固定集合可以使用以下命令:

>db.runCommand({"convertToCapped":"posts",size:10000})

image.gif

以上代码将我们已存在的 posts 集合转换为固定集合。


固定集合查询

固定集合文档按照插入顺序储存的,默认情况下查询就是按照插入顺序返回的,也可以使用$natural调整返回顺序。

>db.cappedLogCollection.find().sort({$natural:-1})

image.gif


固定集合的功能特点

可以插入及更新,但更新不能超出collection的大小,否则更新失败,不允许删除,但是可以调用drop()删除集合中的所有行,但是drop后需要显式地重建集合。

在32位机子上一个cappped collection的最大值约为482.5M,64位上只受系统文件大小的限制。


固定集合属性及用法

属性

    • 属性1:对固定集合进行插入速度极快
    • 属性2:按照插入顺序的查询输出速度极快
    • 属性3:能够在插入最新数据时,淘汰最早的数据

    用法

      • 用法1:储存日志信息
      • 用法2:缓存一些少量的文档

      上一篇

      MongoDB 自动增长

      下一篇

      MongoDB - 连接


      相关实践学习
      MongoDB数据库入门
      MongoDB数据库入门实验。
      快速掌握 MongoDB 数据库
      本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
      相关文章
      |
      6月前
      |
      NoSQL MongoDB 数据库
      MongoDB 删除集合
      10月更文挑战第14天
      123 1
      |
      29天前
      |
      NoSQL 关系型数据库 MongoDB
      微服务——MongoDB常用命令——集合操作
      本节主要介绍MongoDB中的集合操作,包括显式与隐式创建集合的方法。显式创建使用`db.createCollection(name)`,需遵循命名规范(如不能以"system."开头或包含`\0`字符)。隐式创建则通过直接向不存在的集合插入文档实现,更为常用。此外,还介绍了集合删除方法`db.collection.drop()`及其返回值规则,帮助用户管理数据库中的集合资源。
      43 0
      |
      7月前
      |
      NoSQL MongoDB
      MongoDB入门-sort和投影
      这篇文章介绍了MongoDB中的排序(sort)和投影(projection)操作,通过示例代码展示了如何使用这些功能来控制查询结果的排序顺序和返回的字段。
      70 3
      MongoDB入门-sort和投影
      |
      6月前
      |
      存储 NoSQL MongoDB
      MongoDB入门级别教程全(Windows版,保姆级教程)
      一份全面的MongoDB入门级教程,包括在Windows系统上安装MongoDB、使用MongoDB Shell和Compass GUI进行数据库操作,以及MongoDB的基本数据类型和查询技巧。
      635 2
      MongoDB入门级别教程全(Windows版,保姆级教程)
      |
      5月前
      |
      缓存 NoSQL MongoDB
      |
      6月前
      |
      存储 NoSQL MongoDB
      MongoDB 创建集合
      10月更文挑战第13天
      53 1
      |
      10天前
      |
      NoSQL MongoDB 数据库
      数据库数据恢复——MongoDB数据库服务无法启动的数据恢复案例
      MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 管理员在未关闭MongoDB服务的情况下拷贝数据库文件。将MongoDB数据库文件拷贝到其他分区后,对MongoDB数据库所在原分区进行了格式化操作。格式化完成后将数据库文件拷回原分区,并重新启动MongoDB服务。发现服务无法启动并报错。
      |
      29天前
      |
      存储 NoSQL MongoDB
      微服务——MongoDB常用命令1——数据库操作
      本节介绍了 MongoDB 中数据库的选择、创建与删除操作。使用 `use 数据库名称` 可选择或创建数据库,若数据库不存在则自动创建。通过 `show dbs` 或 `show databases` 查看所有可访问的数据库,用 `db` 命令查看当前数据库。注意,集合仅在插入数据后才会真正创建。数据库命名需遵循 UTF-8 格式,避免特殊字符,长度不超过 64 字节,且部分名称如 `admin`、`local` 和 `config` 为系统保留。删除数据库可通过 `db.dropDatabase()` 实现,主要用于移除已持久化的数据库。
      66 0
      |
      29天前
      |
      存储 NoSQL MongoDB
      从 MongoDB 到 时序数据库 TDengine,沃太能源实现 18 倍写入性能提升
      沃太能源是国内领先储能设备生产厂商,数十万储能终端遍布世界各地。此前使用 MongoDB 存储时序数据,但随着设备测点增加,MongoDB 在存储效率、写入性能、查询性能等方面暴露出短板。经过对比,沃太能源选择了专业时序数据库 TDengine,生产效能显著提升:整体上,数据压缩率超 10 倍、写入性能提升 18 倍,查询在特定场景上也实现了数倍的提升。同时减少了技术架构复杂度,实现了零代码数据接入。本文将对 TDengine 在沃太能源的应用情况进行详解。
      49 0
      |
      2月前
      |
      存储 NoSQL MongoDB
      数据库数据恢复—MongoDB数据库迁移过程中丢失文件的数据恢复案例
      某单位一台MongoDB数据库由于业务需求进行了数据迁移,数据库迁移后提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”