zoukankan      html  css  js  c++  java
  • MongoDB使用固定集合

    MongoDB中的固定集合:大小是固定的,类似于循环队列,如果没有空间了,最老的文档会被删除以释放空间,新插入的会占据这块空间。

    1、固定集合(oplog)

    oplog是一个典型的固定集合,因为其大小的显示,可以用来短暂的恢复部分数据。

    需要使用显示的创建方式

    db.createCollection('my_collection', {"capped":true, "size": 100000})此命令创建一个名为my_collection,大小为100000字节的固定集合。

    此外还可以定义集合中的文档数量db.createCollection("my_collection2", {"capped": true, “size”:100000, "max": 100});

    固定集合创建之后就不能改变,如果需要修改固定集合的属性,只能将它删除之后再重建

    为固定集合指定文档数量限制时,必须同时指定固定集合的大小,不管先达到哪一个限制,之后插入的新文档就会把最老的文档挤出集合:固定集合的文档数量不能超过文档数量限制,固定集合的大小也不能超过大小限制。
    

    创建固定集合时,还有另一个选项,可以将已有的某个常规集合转换为固定集合,可以使用convertToCapped命令实现。

    db.runCommand({'convertToCapped': 'test', 'size': 10000});

    2、自然排序

    返回的结果的顺序就是文档在磁盘上的顺序。使用{'$natural': 1}进行排序

    3、循环游标

    当循环游标的结果集被取光后,游标不会被关闭。

    当有新文档插入到集合中时,循环游标就会继续取到结果。

    通常用于当文档被插入到工作队列(固定集合)时对新插入的文档进行处理,如果超过10分钟没有新的结果,循环游标就会被释放,因此,当游标被关闭时自动重新执行查询是非常重要的。

    4、没有_id索引的集合

    在调用createCollection创建集合时,指定autoIndexId选项为false。_id索引必须是唯一索引,不同于其他索引,_id索引一旦创建就无法删除,如果创建的_id索引不合规范,就只能删除集合再重新创建了。

  • 相关阅读:
    微信小程序之界面交互反馈
    微信小程序引入腾讯地图API方法
    微信小程序动态修改页面标题setNavigationBarTitle
    JavaScript中||和&&的运算
    微信小程序 使用include导入wxml文件注意的问题
    idea中文乱码及maven项目配置问题
    Linux常用命令大全
    2018年深圳,武汉房价走势分析
    redis安装,windows,linux版本并部署服务
    dubbo基础学习总结
  • 原文地址:https://www.cnblogs.com/ZSMblog/p/11677170.html
Copyright © 2011-2022 走看看