mongodb定时删除数据(索引删除)
一 简介:本文介绍创建自动删除数据的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定时删除数据(索引删除)相关推荐
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)...
ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) 原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过 ...
- hive删除数据、删除分区、删除库表
hive删除数据.删除分区.删除库表 -- 删除库 drop database if exists db_name; -- 强制删除库 drop database if exists db_name ...
- MySQL 删除数据 批量删除(大量)数据
在删除数据的时候根据不同的场景使用不同的方法,比如说删除表中部分数据.删除表的结构.删除所有记录并重置自增ID.批量删除大量数据等,可以使用delete.truncate.drop等语句. 一.方法分 ...
- python mysql删除数据_python-mysql删除和更新数据
删除数据 import codecs import MySQLdb def connect_mysql(): db_config = { 'host': '192.168.48.128', 'port ...
- java遍历list删除数据,遍历删除List中的元素方法
red hat enterprise linux 8到图书 129.9元 (需用券) 去购买 > 1.通过增强的for循环删除符合条件的多个元素 /** * 使用增强的for循环 * 在循环过程 ...
- Oracle删除数据索引
首先查到表中的现有索引: select * from user_indexes where table_name in ('表名',''); 删除索引: drop index 索引名;
- oracle删除数据索引失效,oracle数据库索引失效
今天一个同事突然问我索引为什么失效.说实在的,失效的原因有多种: 但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况: 1. 随着表的增长,where条件出来的数据 ...
- java控制器删除数据_javaWeb删除一条及多条数据
一.编写dao //删除根据ID @Delete("delete from product where id=#{id}") public void delete(Integer ...
- php中复选框删除数据_checkbox 删除,checkbox_PHP教程
选项学号姓名< /th>性别电话 在创建sc.php 数据库数据: -- phpMyAdmin SQL Dump -- version 2.11.6 -- http://www.phpmy ...
- elasticsearch定时删除过期索引index
elasticsearch定时清理过期索引index 一.定时函数 二.获取过期时间 三.获取esClient 四.获取全部索引 五.判定索引是否过期 六.删除过期索引 七.demo代码 一.定时函数 ...
最新文章
- Linux用户和组相关的配置文件
- 如何找出标有App Store 精华,Essentials的所有软件?
- Qt-QTableWidget设置只能选中一行
- 编译安装php的openssl组件时遇到 libssl not found解决办法
- Java消息服务~JMSReplyTo示例
- guns 最新开源框架企业版下载_国内比较火的5款Java微服务开源项目
- 云服务器 ECS 搭建WordPress网站:购买 Linux 实例
- 遗传算法及c++实现
- 游戏算法整理(贴图完整版)
- PowerPCB转Protel 99的详细教程
- 163等各种邮箱端口号设置
- 微信办公时代,企业文化也能撑起企业的半壁江山?
- 图搜索算法(一):图搜索的一般算法
- linux与windows内核哪个难学,国产操作系统为何都基于Linux内核?又和Windows像?
- 【Appium】逍遥模拟器命令memuc功能大全【命令启动】
- 思念博山——砸鱼汤 ^_^
- 2022年全球市场工业访问控制解决方案总体规模、主要企业、主要地区、产品和应用细分研究报告
- Mahout之——mahout0.9注意事项SlopeOneRecommender
- 【虚幻引擎UE】UE5 AR初体验之静态动态模型加载
- canvas实现H5手势密码设置以及手势解锁
热门文章
- Deepin系统安装后相关设置与环境搭建
- linux既能归档也能压缩的命令,Linux压缩及归档
- json string 格式_python中json函数的用法
- 计算机专业笔记本需要小键盘吗,笔记本电脑小键盘数字0不能用
- Linux、Ubuntu、CentOS安装和配置zsh
- python羊车门_羊车门 python 作业
- redhat 6.4 mysql_redhat6.4 安装 MySQL 5.6.27
- python零基础知识_python 零基础 基本知识
- flutter offset_牛笔!自己用Flutter撸一个天气APP
- java启动参数_Java启动参数的思考