是否可以在MongoDB中设置每条消息的TTL?我想插入可以具有不同TTL的消息,我使用MongoDB检查我是否必须重新发送消息
1 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
是的,这是可能的,请参阅通过设置 TTL 使集合中的数据过期。
首先,您必须创建一个 TTL 索引,在其中设置 。您必须设置时间戳,通过将期望的TTL添加到当前时间来计算。0
expireAfterSeconds
expireAt
例如,创建一个索引:
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)
- 1 回答
- 0 关注
- 114 浏览
添加回答
举报
0/150
提交
取消