UNPKG

dynoga

Version:

**Dynoga** is a light library for use DynamoDB with javascript objects

95 lines (59 loc) 2.05 kB
# Dynoga [![NPM](https://nodei.co/npm/dynoga.png)](https://nodei.co/npm/dynoga/) ## Disclaimer **Dynoga** is a lightweight library to use DynamoDB with JavaScript objects. We use CRUD naming for easy matching with [Backbone.ioBind](https://github.com/logicalparadox/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](http://aws.typepad.com/aws/2013/09/dynamodb-local-for-desktop-development.html) 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 ;)