mongoDB 固定集合

固定集合

定义  指在mongoDB 中创建大小固定的集合, 称为固定集合

特点

  能够淘汰早期数据 (超过上限时, 删除最初的文档保证不溢出上限 )

  可以控制集合大小

  数据插入, 差最后啊数操作速度快

使用

  日志处理

  临时缓存

创建

db.createCollection(collection, {capped:true, size:100000, max:20})

参数
  capped   表示固定集合

  size   表示大小, 字节

  max   表示存储数量上限

实例

创建 log 固定集合, 大小设置为 1000 字节, 最大存储文档数目为 3
>
db.createCollection("log",{capped:true,size:1000,max:3}) { "ok" : 1 }

 

转载于:https://www.cnblogs.com/shijieli/p/10476802.html

### MongoDB固定集合 (Capped Collection) 的详解 #### 1. 固定集合的概念 固定集合(Capped Collection)是 MongoDB 提供的一种特殊类型的集合,它具有固定的大小和先进先出(FIFO)的行为模式。一旦达到其预定义的大小限制,最早的文档会被自动删除以腾出空间给新插入的数据[^1]。 #### 2. 主要特性 - **固定大小**:在创建时需指定最大磁盘占用字节数 `size` 和可选的最大文档数量 `max`。当集合中的数据量超过设定值时,旧数据会按照 FIFO 原则被移除。 - **高效插入操作**:由于内部实现类似于环形缓冲区结构,写入性能非常高,适合高频率的日志记录或实时监控场景。 - **顺序读取支持**:提供天然的时间序列排序功能,在查询时不需额外索引来保持插入顺序。 - **不可更新/扩展单条记录**:如果尝试修改现有文档使其超出原始分配的空间,则该次更新失败并抛异常;因此建议设计阶段充分考虑字段长度变化可能性。 #### 3. 使用场景分析 基于以上特点,以下是几个典型的应用领域: - 日志管理:用于保存应用程序产生的各种事件日志或者错误报告等短生命周期的信息; - 缓存机制:作为临时存储区域来加速频繁访问的小型对象检索过程; - 时间序列数据库模拟:可以用来构建简单的物联网传感器数值采集平台或者其他需要按时间维度组织大量同质化样本点的地方。 #### 4. 创建方法演示 下面展示如何通过 Python 驱动程序 pymongo 来声明一个新的 capped collection: ```python from pymongo import MongoClient client = MongoClient('mongodb://localhost:27017/') db = client['test_database'] # Create a new capped collection named 'log_messages' with maximum storage of 5MB and up to 10k entries. result = db.create_collection( "log_messages", capped=True, size=5 * 1024 * 1024, # Size limit in bytes max=10000 # Optional document count cap ) print(f"Capped collection created successfully? {bool(result)}") ``` 此脚本片段展示了怎样利用 PyMongo 库连接本地实例上的测试数据库,并初始化名为 log_messages 的受容量约束的新表单[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值