MongoDB 固定集合(Capped Collections)
发布日期:2021-05-07 21:03:05 浏览次数:21 分类:精选文章

本文共 933 字,大约阅读时间需要 3 分钟。

MongoDB 固定集合(Capped Collections)

固定集合(Capped Collections)是 MongoDB 中性能优异且具有固定大小的集合类型。其特点是集合大小固定,当集合空间用尽后,新插入的文档会覆盖集合中最早的文档,类似于一个环形队列的工作机制。

创建固定集合

固定集合的创建非常简单,可以通过 createCollection 方法实现。以下是创建固定集合的基本命令示例:

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

此外,还可以指定文档的最大数量(max)属性:

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

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

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

固定集合的查询

固定集合中的文档按照插入顺序存储,默认情况下查询也会按照插入顺序返回。如需按自然顺序调整查询结果,可以使用 $natural 指令:

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

固定集合的功能特点

固定集合具备以下特点:

  • 插入速度快:插入操作效率极高。
  • 查询速度快:默认查询按插入顺序返回,支持 $natural 调整返回顺序。
  • 自动淘汰旧数据:当集合空间满时,新文档会覆盖最早的文档。
  • 不可删除文档:无法使用 remove 方法删除单个文档,但可以通过 drop 删除整个集合。
  • 最大值限制:在32位系统中,最大值约为 482.5M;在64位系统中则受系统文件大小限制。
  • 固定集合的属性及用法

    属性

  • 插入速度极快。
  • 查询速度极快。
  • 在插入新数据时自动淘汰最旧数据。
  • 用法

  • 日志存储:用于存储有时间性的日志信息。
  • 缓存管理:适合缓存较少量的文档数据。
  • 固定集合是一个非常实用的 MongoDB 功能,适合需要高效日志存储或缓存的小量文档场景。

    上一篇:MongoDB 自动增长
    下一篇:MongoDB GridFS

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年04月15日 11时59分50秒