• 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索引不合规范,就只能删除集合再重新创建了。

  • 相关阅读:
    日期格式图片在转换整个输入字符串之前结束
    查看Oracle的表中有哪些索引
    Oracle 中删除表后,表的索引,授权,同义词 会自动删除吗?
    Android自定义进度条颜色
    Android 属性动画(Property Animation) 完全解析 (上)
    开源项目地址
    Android Studio如何设置代码自动提示
    Android Studio 三种添加插件的方式,androidstudio
    强烈推荐android studio用的几个插件
    android studio 中的编码问题
  • 原文地址:https://www.cnblogs.com/ZSMblog/p/11677170.html
Copyright © 2020-2023  润新知