gpt4 book ai didi

mongodb - 为集合中的过期数据设置 TTL

转载 作者:数据小太阳 更新时间:2023-10-29 03:09:10 25 4
gpt4 key购买 nike

是否有使用 official mongo driver 按键配置数据自删除的正确方法? ?我在 Mongo-driver 模块中找到的唯一方法是 ExpireAfterSeconds ,但我不确定如何正确使用它。这是 repository与目前准备好的东西。

最佳答案

你需要在n秒后需要删除的字段上创建一个ttl索引。

在下面的代码片段中,创建了一个可以设置 ttl 的 expirationTime 字段。在记录中设置的 expirationTime 60 秒后,记录将被删除。

以下是创建TTL索引的代码:

var ttl *int32
*ttl = 60
keys := bsonx.Doc{{Key: "expirationTime", Value: bsonx.Int32(int32(1))}}
idx := mongo.IndexModel{Keys: keys, Options: &options.IndexOptions{ExpireAfterSeconds: ttl}}
_, err := collection.Indexes().CreateOne(context.Background(), idx)
if err != nil {
fmt.Println("Error occurred while creating index", err)
} else {
fmt.Println("Index creation success")
}

关于mongodb - 为集合中的过期数据设置 TTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55102752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com