面试题答案
一键面试- 配置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 } );
- TTL索引在这种场景下的作用:
- 自动清理数据:可以自动删除长时间未登录的用户记录,从而在数据库中保留相对活跃的用户数据,避免数据库存储过多无用的历史数据,节省存储空间。
- 数据时效性管理:确保
users
集合中的数据具有一定的时效性,对于一些需要基于时效性进行分析或处理的业务逻辑,如统计活跃用户数等,TTL索引能帮助维护数据的及时性。