MST
星途 面试题库

面试题:MongoDB中TTL索引的基本配置方法

请阐述在MongoDB中如何为一个集合的某个日期字段配置TTL索引,假设该集合名称为 'users',日期字段为 'last_login_time',并说明TTL索引在这种场景下的作用。
49.5万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试
  1. 配置TTL索引: 在MongoDB的shell中,可以使用以下代码为users集合的last_login_time字段配置TTL索引:
    db.users.createIndex( { last_login_time: 1 }, { expireAfterSeconds: <秒数> } );
    
    其中<秒数>是指从last_login_time字段值所表示的日期时间开始,经过多少秒后文档将被自动删除。例如,如果希望文档在登录时间1天后(86400秒)被删除,代码如下:
    db.users.createIndex( { last_login_time: 1 }, { expireAfterSeconds: 86400 } );
    
  2. TTL索引在这种场景下的作用
    • 自动清理数据:可以自动删除长时间未登录的用户记录,从而在数据库中保留相对活跃的用户数据,避免数据库存储过多无用的历史数据,节省存储空间。
    • 数据时效性管理:确保users集合中的数据具有一定的时效性,对于一些需要基于时效性进行分析或处理的业务逻辑,如统计活跃用户数等,TTL索引能帮助维护数据的及时性。