使用mongo-go-dirver创建TTL索引
作者:互联网
数据库:test_db, 数据表 test_table:
id |
content |
expire_date |
---|---|---|
1 | Good luck |
2019-03-01 08:14:58.000 |
2 | Good luck |
2019-03-02 08:14:58.000 |
3 | Good luck |
2019-03-03 08:14:58.000 |
4 | Good luck |
2019-03-04 08:14:58.000 |
5 | Good luck |
2019-03-05 08:14:58.000 |
6 | Good luck |
2019-03-06 08:14:58.000 |
示例代码:
client = mongo.Connect(...)
indexModel := mongo.IndexModel{
Keys: bsonx.Doc{{"expire_date", bsonx.Int32(1)}}, // 设置TTL索引列"expire_date"
Options:mongo.NewIndexOptionsBuilder().ExpireAfterSeconds((1*24*3600)).Build(), // 设置过期时间1天,即,条目过期一天过自动删除
}
_, err := client.Database("test_db").Collection("test_table").Indexes().CreateOne(context.Background(), indexModel) // 创建TTL
if err != nil {
// 出错处理
}
如果当前时间2019-03-02 08:15:58.000,则第一条记录就会被自动删除
Ref:
https://docs.mongodb.com/manual/core/index-ttl/ TTL index详细介绍
https://docs.mongodb.com/manual/indexes/#index-types IndexModel中关于index type的详细介绍
标签:03,Good,mongo,dirver,08,58.000,2019,TTL,14 来源: https://blog.csdn.net/sky_terra/article/details/88357065