Skip to content

billouboq/dynamoose

 
 

Repository files navigation

Dynamoose

Join the chat at https://gitter.im/dynamoosejs/Lobby Build Status Coverage Status

Dynamoose is a modeling tool for Amazon's DynamoDB (inspired by Mongoose)

Getting Started

Installation

$ npm install dynamoose

Example

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);
});

API Docs

The documentation can be found at https://dynamoosejs.com/api.

Help Wanted!

Help improve Dynamoose. I need all the help I can get to imporve test coverage and the documentation. If you would like to help please look at the /test and /docs/_docs folders and make a PR.

Change log

Release 0.8

  • 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

Roadmap

Release 0.9

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

Release 1.0

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 and useDocumentTypes to default to true

About

Dynamoose is a modeling tool for Amazon's DynamoDB

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.9%
  • Shell 0.1%