sails-hook-ttl

2.2.0 • Public • Published

sails-hook-ttl

Automatically set TTL properties on mongo models to expire records a certain time after creation.

Installation

npm install --save sails-hook-ttl

Then the hook will automatically be bound into your project.

Configuration

To add a ttl onto a model, simply provide the lifespan of the model (in seconds) as a property of the model

module.exports = {
    connection: 'mongo',
    tableName: 'tokens',
    ttl: 3600,
    attributes: {
        ...
    },
    ...
}

The models will then have an index created to expire the record the configured time after the last update.

Models' TTL values can also be passed as a duration string - e.g. '1d', '2h30m' etc (parsed using parse-duration)

Advanced Configuration

The ttl property on the model can also be set as an object to define if the lifespan of a record is measured from the last update or its creation.

module.exports = {
    ...
    ttl: {
        ttl: <ttl value in seconds>,
        since: 'create'
    },
    ...
}

This will change the index to be based on the creation time of the record instead of the last updated. Available options are since create and update.

Readme

Keywords

none

Package Sidebar

Install

npm i sails-hook-ttl

Weekly Downloads

1

Version

2.2.0

License

MIT

Last publish

Collaborators

  • lennym