I am trying to set ttl
for a loopback model so that the document gets deleted automatically after specified time.
Here is the property I have added:
"ttl": {
"type": "number",
"required": true
}
This is not AccessToken
model but a separate model whose documents I want to be deleted after specified time interval.
I was able to this solve as follows:
MyCollection.getDataSource().connector.connect(function(err, db) {
if(!err){
var collection = db.collection('MyCollection');
collection.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } );
}
});
Then for each document, I inserted expireAt
which corresponds to the time the document should expire.
MongoDB automatically deletes documents from the collection at the documents’ expireAt
time.