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.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.2.0
    3
    • latest

Version History

Package Sidebar

Install

npm i sails-hook-ttl

Weekly Downloads

2

Version

2.2.0

License

MIT

Last publish

Collaborators

  • lennym