• 3、MongoDB学习之固定集合


    一、MongoDB固定集合概念
    固定集合指的事先创建,并且大小固定的集合。即假设一个集合设置了固定为100,再添加一条文档的时候,会把最前面的文档剔除,永远只保留100条数据。
    固定集合特性:固定集合很像环形队列,如果空间不足,醉枣的文档就会被删除,为新的文档腾出空间。一般来说,固定集合适用于任何想要自动淘汰过期属性的场景。
     
    二、固定集合应用场景
    比如日志文件,聊天记录,通话信息记录等需要保留最近某段时间内的应用场景,都会适用到MongoDB的固定集合。
    当知道文档数量上限时,必须同时指定大小,淘汰机制是容量没有满足的时候会依据文档数量来工作,要是容量满了,淘汰机制会依据容量机制来淘汰。
     
    三、如何适用固定集合
    创建固定集合使用命令:
    db.createCollection(name, { size : ..., capped : ..., max : ... } )
    name    #表示集合名称
    capped    #为true表示固定集合
    size    #表示集合最大使用的大小,默认是K
    max    #表示最大的文档数
     
    1、创建一个固定集合
    > db.createCollection("b3",{capped:true,size:1024,max:200})
     
    2、对固定集合插入数据
    > for (var i=1;i<199;i++){
    ... db.b3.insert({name:'test'+i,age:26})
    ... }
    WriteResult({ "nInserted" : 1 })
     
    3、查看集合
    WriteResult({ "nInserted" : 1 })
    > db.b3.find()
     #可以看到集合已经size就已经把文档剔除了
     
     
     
     
     
     
  • 相关阅读:
    sql编码造成的安全问题(基于mysql8.0版本)
    [HY000] [2054] php连接mysql时错误
    jetbrains(phpstrom,webstorm等)破解
    XSS(二)
    XSS(一)
    ctf中rsa攻击方法
    扩展欧几里得算法证明及求乘法逆元
    mac泛洪攻击&arp欺骗(python脚本)
    Flutter 中 实现 单选对话框 和页面中实现单选框
    解决Flutter混合开发时 is not a readable directory 问题
  • 原文地址:https://www.cnblogs.com/xiangys0134/p/7497863.html
Copyright © 2020-2023  润新知