为了账号安全,请及时绑定邮箱和手机立即绑定

MongoDB per message TTL

MongoDB per message TTL

Go
蛊毒传说 2022-08-15 17:31:09
是否可以在MongoDB中设置每条消息的TTL?我想插入可以具有不同TTL的消息,我使用MongoDB检查我是否必须重新发送消息
查看完整描述

1 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

是的,这是可能的,请参阅通过设置 TTL 使集合中的数据过期

首先,您必须创建一个 TTL 索引,在其中设置 。您必须设置时间戳,通过将期望的TTL添加到当前时间来计算。0expireAfterSecondsexpireAt

例如,创建一个索引:

db.log_events.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )

然后,如果您想要一个文档的3秒TTL,请将其与属性一起插入:

"expireAt": time.Now().Add(3 * time.Second)

要获得 TTL 为 1 小时的文档::

"expireAt": time.Now().Add(time.Hour)


查看完整回答
反对 回复 2022-08-15
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信