在 Go 中,使用 mongo-go-driver,可以根据指定的时间自动使集合中的文档过期
要使文档自动过期,您需要:
在您的 Go 代码中:
<code class="go">// Add an index to expire documents after 1 second (for testing purposes). model := mongo.IndexModel{ Keys: bson.M{"createdAt": 1}, Options: options.Index().SetExpireAfterSeconds(1), } ind, err := col.Indexes().CreateOne(ctx, model)</code>
这很重要请注意,expireAfterSeconds 选项指定文档可以删除的持续时间。然而,实际删除可能不会立即发生。
MongoDB 每 60 秒运行一次后台任务以删除过期文档。因此,过期文档在 TTL 过期后可能会在集合中保留最多 60 秒。此外,如果数据库负载过重,删除过程可能需要更长的时间。
希望您的文档能够被及时删除时请记住这一点。
以上是如何使用 Go 在 MongoDB 中设置自动文档过期?的详细内容。更多信息请关注PHP中文网其他相关文章!