Dynamoose is a modeling tool for Amazon's DynamoDB (inspired by Mongoose)
$ npm install dynamoose
Set AWS configurations in enviroment varable:
export AWS_ACCESS_KEY_ID="Your AWS Access Key ID"
export AWS_SECRET_ACCESS_KEY="Your AWS Secret Access Key"
export AWS_REGION="us-east-1"
Here's a simple example:
var dynamoose = require('dynamoose');
// Create cat model with default options
var Cat = dynamoose.model('Cat', { id: Number, name: String });
// Create a new cat object
var garfield = new Cat({id: 666, name: 'Garfield'});
// Save to DynamoDB
garfield.save();
// Lookup in DynamoDB
Cat.get(666)
.then(function (badCat) {
console.log('Never trust a smiling cat. - ' + badCat.name);
});
The documentation can be found at https://dynamoosejs.com/api.
- useNativeBooleans #55
- saveUnknown #125
- Support for multiple indexes defined on the hashkey attribute of the table
- scan.all() #93 #140
- scan.parallel d7f7f77
- TTL support 92994f1
- added schema parsing overrides #145
- populate #137
- Added consistent() to scan. #15 #142
- Default function enhancements #127
- Create required attributes on update #96
- Add typescript typings #123
- Added .count() for Query and Scan #101
- Nested scans #141 #158
The goal of release 0.9 is to increase the parity with mongoose. The primary purpose will be to come up with a plugin system similar to that of mongoose although not necessarily compatible.
- Plugin system
-
Model.find
alias - Complete
.populate
support
The main goal of 1.0 will be to improve the code and refactor to ES2015 (ES6). In addition, useNativeBooleans
and useDocumentTypes
will be toggled to make uses of "newer" DynamoDB features by default.
- ES2015 updates
- Switch to ESLint
- Set
useNativeBooleans
anduseDocumentTypes
to default totrue