游乐游手机版
首页/数据库/文章详情

MongoDB固定集合Capped Collections详解与使用场景

时间:2026-08-14 16:28
MongoDB 的固定集合(Capped Collections)本质上是一种性能表现非常出色、并且容量预先设定好的特殊集合。所谓“固定大小”,可以将它理解为一个环形队列:当集合空间被写满后,后续写入的新文档会自动覆盖最早插入、位于前面的旧文档。 创建固定集合 我们可以通过 createCollec

MongoDB 的固定集合(Capped Collections)本质上是一种性能表现非常出色、并且容量预先设定好的特殊集合。所谓“固定大小”,可以将它理解为一个环形队列:当集合空间被写满后,后续写入的新文档会自动覆盖最早插入、位于前面的旧文档。

MongoDB 固定集合(Capped Collections)

创建固定集合

我们可以通过 createCollection 来创建 MongoDB 固定集合,并将 capped 选项设置为 true:

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

还可以通过增加 max:1000 属性来限制文档数量:

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

判断一个集合是否为固定集合,可以使用以下命令:

>db.cappedLogCollection.isCapped()

如果需要将现有集合转换为固定集合,可以执行下面的命令:

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

上述代码会将已经存在的 posts 集合转换成固定集合。

固定集合查询

固定集合中的文档会按照插入顺序进行存储,因此默认查询结果通常也是按插入顺序返回的。同时,也可以借助 $natural 来调整返回顺序。

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

固定集合的功能特点

这类集合支持插入和更新操作,不过更新有一个前提:更新后的文档大小不能超过 collection 本身的容量限制,否则更新会失败。固定集合不支持删除单条文档;如果确实需要清空数据,可以调用 drop() 删除整个集合,但执行 drop() 之后,还需要手动重新创建该集合。

在 32 位系统上,一个 capped collection 的最大值大约为 482.5M;在 64 位系统上,则主要受系统文件大小限制。

固定集合属性及用法

属性

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

用法

  • 用法1:用于存储日志信息
  • 用法2:用于缓存少量文档数据
来源:https://www.runoob.com/mongodb/mongodb-capped-collections.html
上一篇MongoDB正则表达式用法详解与查询匹配技巧 下一篇MongoDB MapReduce 使用场景与实现方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Redis是什么:核心特性、架构与应用场景解析
数据库 · 2026-09-01

Redis是什么:核心特性、架构与应用场景解析

Redis是一款基于内存的键值型NoSQL数据库,以超高读写速度和丰富的数据结构著称。本文系统梳理Redis的核心特性、架构组成、性能优势及典型应用场景,并通过与Memcached、MySQL、MongoDB的对比,帮助开发者快速判断Redis是否适合当前业务需求。

Windows 安装 MongoDB 完整图文教程
数据库 · 2026-09-01

Windows 安装 MongoDB 完整图文教程

本文详细介绍在 Windows 系统上安装 MongoDB 的完整流程。从官网下载 MSI 安装包开始,逐步演示自定义安装路径、配置 Windows 服务、跳过 MongoDB Compass 等关键选项,并提供通过系统服务列表验证安装是否成功的方法,帮助开发者快速搭建本地 MongoDB 环境。

Linux 安装 MongoDB 完整指南:依赖配置、环境变量与服务启动
数据库 · 2026-09-01

Linux 安装 MongoDB 完整指南:依赖配置、环境变量与服务启动

本文详解在 Linux 系统下安装 MongoDB 的完整流程,涵盖依赖包安装、二进制包下载解压、环境变量配置、数据与日志目录创建及服务启动验证。通过标准化命令与路径说明,帮助开发者快速完成部署并确认服务状态。

MacOS安装MongoDB完整教程
数据库 · 2026-09-01

MacOS安装MongoDB完整教程

本文介绍在MacOS系统下安装MongoDB的完整流程,涵盖下载、解压、目录配置、环境变量设置及服务启动。通过明确的命令与参数说明,帮助开发者快速完成环境搭建并验证安装结果。

Ubuntu系统安装与配置Redis完整指南
数据库 · 2026-09-01

Ubuntu系统安装与配置Redis完整指南

本文详解在Ubuntu系统中安装Redis的两种主流方式:apt在线安装与源码编译安装。涵盖版本选择逻辑、服务启停与状态检查、连接验证方法,以及在线练习工具与桌面GUI客户端的对比与使用建议,帮助开发者快速搭建并验证Redis运行环境。