Od MongoDB 3.2 możliwe jest również dodanie częściowego indeksu TTL przy użyciu określonego wyrażenia filtrującego. Jeśli chcesz usunąć tylko zwykłe, niezaplanowane wiadomości e-mail, możesz użyć następującego:
db.email.createIndex( {createdDate: 1}, {
expireAfterSeconds: 172800, // 2 days
partialFilterExpression: {
scheduledDate: 0
}
});
Zauważ, że partialFilterExpression
ma ograniczenia dotyczące możliwych warunków filtrowania:https://docs.mongodb.com/manual /core/index-częściowy/