MongoDB 每条消息 TTL
MongoDB per message TTL
是否可以在 MongoDB 中设置每条消息的 TTL?我想插入可以具有不同 TTL 的消息,我使用 MongoDB 检查是否必须重新发送消息
是的,有可能,参见 Expire Data from Collections by Setting TTL。
首先,您必须创建一个 TTL 索引,在其中为 expireAfterSeconds
设置 0
。并且您必须设置 expireAt
时间戳,通过将希望的 TTL 添加到当前时间来计算。
例如创建索引:
db.log_events.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )
然后如果您想要文档的 TTL 为 3 秒,请将其插入 属性:
"expireAt": time.Now().Add(3 * time.Second)
要有 1 小时 TTL 的文档:
"expireAt": time.Now().Add(time.Hour)
是否可以在 MongoDB 中设置每条消息的 TTL?我想插入可以具有不同 TTL 的消息,我使用 MongoDB 检查是否必须重新发送消息
是的,有可能,参见 Expire Data from Collections by Setting TTL。
首先,您必须创建一个 TTL 索引,在其中为 expireAfterSeconds
设置 0
。并且您必须设置 expireAt
时间戳,通过将希望的 TTL 添加到当前时间来计算。
例如创建索引:
db.log_events.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )
然后如果您想要文档的 TTL 为 3 秒,请将其插入 属性:
"expireAt": time.Now().Add(3 * time.Second)
要有 1 小时 TTL 的文档:
"expireAt": time.Now().Add(time.Hour)