order |
---|
2 |
Below is a simple example of how to use DynamoDB TTL (time to live) with Dynamoose.
'use strict';
// Requiring the Dynamoose NPM package
var dynamoose = require('dynamoose');
// Setting our table name prefix to "example-"
dynamoose.setDefaults({
prefix: 'example-',
suffix: ''
});
// Creating a new Dynamomoose model, with 3 attributes (id, name, and ttl), the name of our table is "example-Cat" (due to our prefix default set above, and our suffix being an empty string)
var Cat = dynamoose.model('Cat', {
id: Number,
name: String
}, {
expires: {
// ttl (time to live) will be set to 1 day (86,400 seconds), this value must always be in seconds
ttl: 1 * 24 * 60 * 60,
// This is the name of our attribute to be stored in DynamoDB
attribute: 'ttl'
}
});
// Creating a new instance of our "Cat" model
var garfield = new Cat({id: 1, name: 'Fluffy'});
// Saving our new cat to DynamoDB
garfield.save()
.then(function () {
// Getting our cat from DynamoDB after it has completed saving
return Cat.get(1);
})
.then(function (fluffy) {
// After getting our cat from DynamoDB we print the object that we received from DynamoDB
console.log(JSON.stringify(fluffy, null, ' '));
/*
{
"id": 3,
"name": "Fluffy",
"ttl": "2017-05-28T01:35:01.000Z"
}
*/
});