首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MongoDB 索引速查:TTL 与唯一索引的最小用法

MongoDB 索引速查:TTL 与唯一索引的最小用法

作者头像
安全风信子
发布2025-11-18 19:16:22
发布2025-11-18 19:16:22
990
举报
文章被收录于专栏:AI SPPECHAI SPPECH

一句话承诺:两条命令+一张表,让你的过期数据自动清理,唯一约束马上生效。

对照表

索引

语法

场景

唯一

createIndex({field:1}, {unique:true})

防止重复

TTL

createIndex({expireAt:1}, {expireAfterSeconds:0})

定时过期


命令示例

代码语言:javascript
复制
// 唯一索引
db.users.createIndex({ email: 1 }, { unique: true })

// TTL索引(按时间字段过期)
db.sessions.createIndex({ expireAt: 1 }, { expireAfterSeconds: 0 })

// 插入带过期时间的文档
db.sessions.insertOne({ user: 42, expireAt: new Date(Date.now() + 3600*1000) })

少量解释

  • TTL 索引基于日期字段,后台过期清理非实时,延迟可接受范围内。
  • 唯一索引生效需集合现有数据不违反约束。

常见坑与替代法

  • 坑:过期字段非 Date 类型。替代:确保为 BSON Date。
  • 坑:TTL清理不立即执行。替代:设计业务容忍度或手动清理。

下一篇预告

Elasticsearch 查询 DSL:match/term/range 速查表(示例+图)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对照表
  • 命令示例
  • 少量解释
  • 常见坑与替代法
  • 下一篇预告
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档