Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB每消息TTL_Mongodb_Go_Nosql_Ttl - Fatal编程技术网

MongoDB每消息TTL

MongoDB每消息TTL,mongodb,go,nosql,ttl,Mongodb,Go,Nosql,Ttl,是否可以在MongoDB中设置每条消息的TTL?我想插入具有不同TTL的邮件,并使用MongoDB检查是否必须重新发送邮件是的,可以,请参阅 首先,您必须创建一个TTL索引,在其中为expireAfterSeconds设置0。您必须设置expireAt时间戳,通过将所需的TTL添加到当前时间来计算 例如,创建索引: db.log_events.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } ) 然后,如果要

是否可以在MongoDB中设置每条消息的TTL?我想插入具有不同TTL的邮件,并使用MongoDB检查是否必须重新发送邮件

是的,可以,请参阅

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

例如,创建索引:

db.log_events.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )
然后,如果要为文档创建3秒的TTL,请将其与属性一起插入:

"expireAt": time.Now().Add(3 * time.Second)
要使用1小时TTL的文档,请执行以下操作:

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