一 简介:本文介绍创建自动删除数据的TTL索引

二 目的 定时删除数据
三 创建方法
   db.collection.createIndex(keys, options)
   options:
   expireAfterSeconds 指定多少秒或者包含日期值的数组

创建示例
   db.eventlog.createIndex( { "lastModifiedDate": 1 }, { expireAfterSeconds: 3600 },{backgroup: true})

四 何时失效
   1 在指定的时间达到后失效,也即是索引字段的值加上一个特定的秒数之后
   2 如果索引字段是一个数组,即索引字段上存在着多个日期值,此时MongoDB取最小值加上失效时间(lowest())
   3  对于非日期字段或不包含日期数组的索引字段,文档不会失效
   4  对于不包含索引字段的文档,文档不会失效

五 删除操作
   1 mongod的一个后台线程会读取索引的值并将失效的文档从集合移除
   2 当TTL线程被激活后,可以从db.currentOp()或者从profile观察到删除操作

六 何时删除
   1 当基于后台方式创建索引时,TTL线程能够在索引创建期间开始删除失效文档
   2 当基于前台方式创建索引时,TTL线程在索引创建完成后开始删除失效文档 
   3 TTL索引的删除不能完全保证失效期后一定删除,存在一定延迟(取决于mongod的工作负载)
   4 TTL删除文档后台线程每60s移除失效文档(因此可能存在已过失效期,文档还在的情形)
   5  在副本集环境中,TTL后台线程仅仅在主副本上工作,辅助副本上由复制操作实现
   6  在使用TTL索引查询时,与使用非TTL索引一样

七 一些限制
   1 不能基于已经存在索引的字段创建TTL索引以及非日期字段创建TTL索引,文档不会失效
   2 TTL索引不支持基于多个字段的复合索引
   3 不支持定长集合
本文系转载文章来源 https://blog.csdn.net/leshami/article/details/61195427

转载于:https://www.cnblogs.com/xwjBlog/p/11059299.html

mongodb定时删除数据(索引删除)相关推荐

  1. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)...

    ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) 原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过 ...

  2. hive删除数据、删除分区、删除库表

    hive删除数据.删除分区.删除库表 -- 删除库 drop database if exists db_name; -- 强制删除库 drop database if exists db_name ...

  3. MySQL 删除数据 批量删除(大量)数据

    在删除数据的时候根据不同的场景使用不同的方法,比如说删除表中部分数据.删除表的结构.删除所有记录并重置自增ID.批量删除大量数据等,可以使用delete.truncate.drop等语句. 一.方法分 ...

  4. python mysql删除数据_python-mysql删除和更新数据

    删除数据 import codecs import MySQLdb def connect_mysql(): db_config = { 'host': '192.168.48.128', 'port ...

  5. java遍历list删除数据,遍历删除List中的元素方法

    red hat enterprise linux 8到图书 129.9元 (需用券) 去购买 > 1.通过增强的for循环删除符合条件的多个元素 /** * 使用增强的for循环 * 在循环过程 ...

  6. Oracle删除数据索引

    首先查到表中的现有索引: select * from user_indexes where table_name in ('表名',''); 删除索引: drop index 索引名;

  7. oracle删除数据索引失效,oracle数据库索引失效

    今天一个同事突然问我索引为什么失效.说实在的,失效的原因有多种: 但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况: 1. 随着表的增长,where条件出来的数据 ...

  8. java控制器删除数据_javaWeb删除一条及多条数据

    一.编写dao //删除根据ID @Delete("delete from product where id=#{id}") public void delete(Integer ...

  9. php中复选框删除数据_checkbox 删除,checkbox_PHP教程

    选项学号姓名< /th>性别电话 在创建sc.php 数据库数据: -- phpMyAdmin SQL Dump -- version 2.11.6 -- http://www.phpmy ...

  10. elasticsearch定时删除过期索引index

    elasticsearch定时清理过期索引index 一.定时函数 二.获取过期时间 三.获取esClient 四.获取全部索引 五.判定索引是否过期 六.删除过期索引 七.demo代码 一.定时函数 ...

最新文章

  1. Linux用户和组相关的配置文件
  2. 如何找出标有App Store 精华,Essentials的所有软件?
  3. Qt-QTableWidget设置只能选中一行
  4. 编译安装php的openssl组件时遇到 libssl not found解决办法
  5. Java消息服务~JMSReplyTo示例
  6. guns 最新开源框架企业版下载_国内比较火的5款Java微服务开源项目
  7. 云服务器 ECS 搭建WordPress网站:购买 Linux 实例
  8. 遗传算法及c++实现
  9. 游戏算法整理(贴图完整版)
  10. PowerPCB转Protel 99的详细教程
  11. 163等各种邮箱端口号设置
  12. 微信办公时代,企业文化也能撑起企业的半壁江山?
  13. 图搜索算法(一):图搜索的一般算法
  14. linux与windows内核哪个难学,国产操作系统为何都基于Linux内核?又和Windows像?
  15. 【Appium】逍遥模拟器命令memuc功能大全【命令启动】
  16. 思念博山——砸鱼汤 ^_^
  17. 2022年全球市场工业访问控制解决方案总体规模、主要企业、主要地区、产品和应用细分研究报告
  18. Mahout之——mahout0.9注意事项SlopeOneRecommender
  19. 【虚幻引擎UE】UE5 AR初体验之静态动态模型加载
  20. canvas实现H5手势密码设置以及手势解锁

热门文章

  1. Deepin系统安装后相关设置与环境搭建
  2. linux既能归档也能压缩的命令,Linux压缩及归档
  3. json string 格式_python中json函数的用法
  4. 计算机专业笔记本需要小键盘吗,笔记本电脑小键盘数字0不能用
  5. Linux、Ubuntu、CentOS安装和配置zsh
  6. python羊车门_羊车门 python 作业
  7. redhat 6.4 mysql_redhat6.4 安装 MySQL 5.6.27
  8. python零基础知识_python 零基础 基本知识
  9. flutter offset_牛笔!自己用Flutter撸一个天气APP
  10. java启动参数_Java启动参数的思考