I have a database with users
collection which contains a verified
field in its schema. I want users that have not been verified 5min after account creation to be deleted. How can I do this?
I am already familiar with the expires
option, but I am not sure how I can apply it conditionally.
CodePudding user response:
You can try partialFilterExpression.
db.users.createIndex(
{"createdDate": 1},
{expireAfterSeconds: 300, partialFilterExpression: {verified: false}}
);
CodePudding user response:
You can create a field expireAt
with an index and use expireAfterSeconds
and partialFilterExpression
options:
...
verified: { type: Boolean, default: false },
expireAt: {
type: Date,
default: Date.now,
index: {
expireAfterSeconds: 300,
partialFilterExpression: { verified: false }
}
}