mongodb索引 过期索引
> db.test2.ensureIndex({time:1},{expireAfterSeconds:30})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : ,
"numIndexesAfter" : ,
"ok" :
}
> db.test2.insert({time:new Date()})
WriteResult({ "nInserted" : })
> db.test2.find()
{ "_id" : ObjectId("5b60e31524326393d99a4f64"), "x" : }
{ "_id" : ObjectId("5b6235d23fb2bed9140233fd"), "x" : , "y" : , "z" : }
{ "_id" : ObjectId("5b62361e3fb2bed9140233fe"), "x" : [ , , , , ] }
{ "_id" : ObjectId("5b623a513fb2bed9140233ff"), "time" : ISODate("2018-08-01T22:55:13.369Z") }
> db.test2.find()
{ "_id" : ObjectId("5b60e31524326393d99a4f64"), "x" : }
{ "_id" : ObjectId("5b6235d23fb2bed9140233fd"), "x" : , "y" : , "z" : }
{ "_id" : ObjectId("5b62361e3fb2bed9140233fe"), "x" : [ , , , , ] }
、存储在过期索引字段的值必须是指定的时间类型
说明:比如是ISODate或者ISODate数组,不能使用时间戳,否者不能被自动删除
比如> db.test2.insert({time:}),这种是不能被删除的
、如果指定了ISODate()数组,则按照最小的时间进行删除。
、过期索引不能是复合索引,因为我们不能指定两个过期时间索引
、删除时间不是精确的
说明:删除过程是由后台程序每60s跑一次,而且删除也需要一些时间,索引存在误差
mongodb索引 过期索引的更多相关文章
- MongoDB的查询索引
目录 为什么要建立索引? 索引的分类有哪些? _id索引 单键索引 多键索引 复合索引 过期索引 hello,今天是万圣节
- MongoDB(课时22 过期索引)
3.6.2 过期索引 在一些程序的站点会出现若干秒之后信息被删除的情况,例如:手机信息验证码,那么在MongoDB里面可以轻松实现过期索引.但这个时间往往不怎么准确. 范例:设置过期索引(实现过期索引 ...
- MongoDB的学习--索引类型和属性
索引类型 MongDB的索引分为以下几种类型:单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 单键索引(Single Field Indexes) 在一个键上创建的索引就是单键索引, ...
- MongoDB学习笔记——索引管理
索引 索引能够提升查询的效率.没有索引,MongoDB必须扫描集合中的所有文档,才能找到匹配查询语句的文档. 索引是一种特殊的数据结构,将一小块数据集保存为容易遍历的形式.索引能够存储某种特殊字段或字 ...
- MongoDB的学习--索引类型和属性(转)
原文链接:MongoDB的学习--索引类型和属性 索引类型 MongDB的索引分为以下几种类型:单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 单键索引(Single Field I ...
- MongoDB数据模型和索引学习总结
MongoDB数据模型和索引学习总结 1. MongoDB数据模型: MongoDB数据存储结构: MongoDB针对文档(大文件採用GridFS协议)採用BSON(binary json,採用二进制 ...
- MongoDB学习笔记~索引提高查询效率
回到目录 索引这个东西大家不会陌生,只要接触到稍微大一点的数据,都会用到这东西,它可以提升查询的速度,相当代价就是占用了更多的存储空间,这也是正常的,符合“能量守恒定理”,哈哈!今天说的是MongoD ...
- MongoDB学习笔记(索引)
一.索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令: > db.test.ensureIndex({" ...
- MongoDB的学习--索引
索引可以用来优化查询,而且在某些特定类型的查询中,索引是必不可少的.为集合选择合适的索引是提高性能的关键. 先来mock数据 for (i = 0; i < 1000000; i++) { db ...
随机推荐
- iOS-UIImageView和UIImage
UIImage self.imageView.contentMode = UIViewContentModeCenter;// 图片的内容模式 [self.imageView setFrame:CGR ...
- 分享一个关于Opencv的小总结
import cv2 #opencv读取的格式是BGR import numpy as np 一.#读入文件 img=cv2.imread('cat.jpg') #’’引号内是图片所在盘的地址+名 ...
- ThinkPHP如何在控制器中调用命令
前段时间因为业务需求,使用TP的command开发了几个模块,期间测试一下在控制器中调用命令的方式,发现一些问题记录一下 官方文档: <?php namespace app\index\cont ...
- BS
- Oracle之配置节点间相互信任机制测试
更改一下,之前的都不对,现在来一版简单有效的ssh互信配置 例如我的是在配置rac,在grid用户下配置互信:建立好相应的文件 mkdir .ssh chmod -R 700 .ssh/ 使用ssh- ...
- mycat入门安装及demo实现
下载: https://github.com/MyCATApache/Mycat-download 安装: 直接解压 运行命令: linux: ./mycat start 启动 ./myca ...
- 脉脉的一道网红Java面试题
题目如下: public class Test { public static void main(String[] args) { int a = 10; int b = 10; // 需要在met ...
- 基于java配置log4j日志详解
1.Log4j 1.1了解Log4j Log4j是Apache的一个开源项目,通过使用log4j,我们可以控制日志信息输送的目的地可以是控制台.文件.GUI组件,我们也可以控制每一条日志的输出格式,通 ...
- 【Docker】:使用docker安装redis,挂载外部配置和数据
普通安装 1.拉取镜像,redis:4.0 docker pull redis:4.0 2.创建redis容器名"redistest1",并开启持久化 docker run -d ...
- VC++:创建,调用Win32静态链接库
概述 DLL(Dynamic Linkable Library)动态链接库,Dll可以看作一种仓库,仓库中包含了可以直接使用的变量,函数或类. 仓库的发展史经历了"无库" ---& ...