TTLインデックスを作成するには、次の手順を実行します。
- データベース内のコレクションを選択します。
- 期限切れのフィールドを持つドキュメントに対して、TTLインデックスを作成します。たとえば、ドキュメント内の「expireAt」というフィールドがデータの有効期限を表す場合、次のようにインデックスを作成します。
db.collection.createIndex({ "expireAt": 1 }, { expireAfterSeconds: 0 })
上記のコードでは、「expireAt」フィールドを持つドキュメントは、そのフィールドの値に基づいて自動的に期限切れになります。
- TTLインデックスが作成されたら、MongoDBは指定された時間が経過した後に自動的に期限切れのドキュメントを削除します。
複数のプロパティに基づいてデータを期限切れにする場合、ドキュメント内に複数のフィールドを使用して期限を設定する必要があります。たとえば、ドキュメント内の「expireAt」と「status」の2つのフィールドに基づいてデータを期限切れにする場合、次のようにインデックスを作成します。
db.collection.createIndex({ "expireAt": 1, "status": 1 }, { expireAfterSeconds: 0 })
上記のコードでは、「expireAt」と「status」の両方のフィールドを持つドキュメントは、それらのフィールドの値に基づいて自動的に期限切れになります。
以上がMongoDBで複数のプロパティに基づいてデータを期限切れにする方法です。これにより、指定された条件に基づいてデータが自動的に削除されるため、データの期限管理が簡単になります。