mongoDB 期限がきたらデータを削除するindexを作成する

mongoDBで、期限がきたらデータを削除するindexを作成する手順を記述してます。「expireAfterSeconds」に秒単位で期限を指定することで確認することができます。
環境
- OS CentOS Stream release 9
- MongoDB 6.0.2
手順
期限がきたらデータを削除するindexを作成するには、「expireAfterSeconds」で「期限」を設定します。
db.コレクション名.createIndex({フィールド名:1},{expireAfterSeconds:秒, name:"インデックス名"})
実際に、以下のデータベース「hoge」にある「foo」というコレクションに設定してみます。
> db.foo.createIndex( {created_at:1}, {expireAfterSeconds:60, name:"hoge_idx"} )
hoge_idx
フィールド名「created_at」がある適当なデータをinsertして1分待つと、
> db.foo.insert({name:'jiro', created_at:new Date()});
{
acknowledged: true,
insertedIds: { '0': ObjectId("639acae46dcdc72cf1d5b3cf") }
}
データが消えていることが確認できると思います。
> db.foo.find()
[
{
_id: ObjectId("639ab5816dcdc72cf1d5b3ca"),
name: 'itiro',
age: 10,
gender: 'm'
},
{
_id: ObjectId("639acae46dcdc72cf1d5b3cf"),
name: 'jiro',
created_at: ISODate("2022-12-15T07:21:08.020Z")
}
]
> db.foo.find()
[
{
_id: ObjectId("639ab5816dcdc72cf1d5b3ca"),
name: 'itiro',
age: 10,
gender: 'm'
}
]
-
前の記事
Redis キーが存在するかを確認する 2022.12.21
-
次の記事
javascript 配列にある要素が別の配列にある要素に含まれているかを判定する 2022.12.22
コメントを書く