Mongoose Time-To-Live plugin
Provides time-to-live support for Mongoose.
var schema = ;schemapluginttl ttl: 5000 ;
The ttl option supports the ms module by guille meaning we can specify ttls with friendlier syntax. Example:
value milliseconds========================'2d' 172800000'1.5h' 5400000'1h' 3600000'1m' 60000'5s' 5000'500ms' 500100 100
The expired document reaper can be disabled by passing
Useful when working in multi-core environments when we only want one
process executing it.
var schema = ;schemapluginttl ttl: 5000 reap: false ;var Cache = dbmodel'Cache' schema;if isMyWorker CachestartTTLReaper;
The reaper can also be stopped.
Time-to-live is specified at the collection level, however it can also be overridden for a given document.
var cache = ;cachettl = '2m' // lives for two minutescachesave;
We can also reset the ttl for a given document to its default plugin state.
MongoDB is getting official support for TTL collections soon-ish at which point this plugin will need to change.