• 如何在Mongodb中实现数据超时自动删除功能?


    在工作过程中,我们难免会遇到这样的问题,我们想保存一些数据,但是我们对这些数据的要求并不高,有时候往往只是想要某个时间范围内的数据,比如我们如果永远只关心从当前时间往前推半年内的数据特性,那么我们就不需要将所有数据都保存起来,因为不仅浪费磁盘空间,而且随着数据量的不断累积,其他性能也会受到影响。

    这时候我们迫切的需要一直方法能够在我们插入数据的时候自动的帮我们去删除我们过一段时间就不想要的数据,那么怎么实现呢。

    在Mongodb内部,有一个特殊的索引,称为TTL索引,通过该索引便可以实现上面的功能。什么事TTL 索引。怎么创建一个TTL索引呢。

    TTL索引是一个特殊的索引,目前只支持在单个的字段上设置索引,而且该字段必须是日期类型或者是包含日期类型的数组类型。我们可以通过createIndex方法来创建一个TTL索引,具体如下所示:

    db.collection.createIndex({“createtime”:1},{expireAfterSeconds:60});

    通过设置expireAfterSeconds来控制文档的过期时间,后面的数字单位为秒哦。其实,也就是mongodb在后台起了一个线程不断的去查询并删除过期的文档。
     
    参考https://edu.aliyun.com/a/95071
  • 相关阅读:
    一个C++程序员学习C#语言
    C#入门教程笔记
    完全卸载mysql 停止服务、卸载相关程序、删除注册表
    C++结构简介
    babun,windows shell
    无限极设计以及随意移动节点(树结构)
    springboot 配置访问外部静态资源详解
    mysql8+keepalived 双主高可用搭建
    mysql 双主复制搭建
    mysql 主备搭建
  • 原文地址:https://www.cnblogs.com/z-x-y/p/10285483.html
Copyright © 2020-2023  润新知