node package manager

dynoga

Dynoga

NPM

Disclaimer

Dynoga is a lightweight library to use DynamoDB with JavaScript objects.

We use CRUD naming for easy matching with Backbone.ioBind

How to use

Initialize

Dynoga = require "dynoga"
 
db = new Dynoga
  endpoint: config.dynamoDB.endpoint
  accessKeyId: config.dynamoDB.accessKeyId
  secretAccessKey: config.dynamoDB.secretAccessKey
  region: config.dynamoDB.region

Create an item

db.create "mytable", item, (err, model) ->
  if err then console.log err
  console.log model

Read an item

keys: Key/value object, a hash is mandatory

db.read "mytable", keys, (err, model) ->
  if err then console.log err
  console.log model

Update an item

item: Key/value object, a hash and range are mandatory

Dynoga automatically find primary keys for update the good item.

db.update "mytable", item, (err, model) ->
  if err then console.log err
  console.log model

Delete an item

item: Key/value object, a hash and range are mandatory

Dynoga automatically find primary keys for delete the good item.

db.delete "mytable", item, (err, model) ->
  if err then console.log err
  console.log model

Running Tests

Put in your environment

export METIDIA_ACCESS_KEY_ID=YOURACCESKEYID
export METIDIA_SECRET_ACCESS_KEY=YOURSECRETACCESSKEY

Run a local dynomadb instance

$ java -Djava.library.path=. -jar DynamoDBLocal.jar

cf: DynamoDB Local for Desktop Development

Run tests

npm test Execute units tests

npm run watch-test Execute units tests with watch files for changes

Warning

For a natural sorting for READ operations, Dynoga use an internal _createTimeStamp attribute. Please don't use it if you don't want surprise ;)