12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
建站问答 时间:2024-12-01 09:16:16
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
MongoDB可以通过TTL(Time To Live)索引来自动删除过期数据。TTL索引是一种特殊类型的索引,它会根据字段的过期时间自动删除文档。要设置自动删除过期数据,可以按照以下步骤进行
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
MongoDB可以通过TTL(Time To Live)索引来自动删除过期数据。TTL索引是一种特殊类型的索引,它会根据字段的过期时间自动删除文档。
要设置自动删除过期数据,可以按照以下步骤进行操作:
expireAt
字段,用于存储文档的过期时间。创建一个TTL索引,将expireAt
字段作为索引的键,并设置过期时间。db.collection.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )
在上述示例中,expireAfterSeconds
参数的值为0,表示过期时间为字段中存储的具体时间。如果要设置相对时间,可以将expireAfterSeconds
参数设置为需要过期的秒数,例如设置为86400表示过期时间为24小时。在插入文档时,将过期时间存储在expireAt
字段中。db.collection.insertOne( { "name": "John", "expireAt": new Date("2022-01-01") } )
在上述示例中,将expireAt
字段设置为2022年1月1日,表示文档将在该日期过期。MongoDB会自动删除过期的文档。注意事项:
MongoDB会在后台轮询TTL索引,并删除过期的文档,删除频率取决于MongoDB的内部进程,可能不是实时的。过期时间存储在expireAt
字段中的时间必须是一个UTC时间。
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19