Maps JS objects and queries to DynamoDB tables

A lightweight module to map JS objects and queries to DynamoDB tables (supports the latest API version, 2012-08-10).

This builds upon the dynamo-client module, although any client that supports a simple request method will also work.

var dynamoTable = require('dynamo-table')
// Will use us-east-1 and credentials from process.env unless otherwise specified 
var table = dynamoTable('Orders', {key: ['customerId', 'orderId']})
table.put({customerId: 23, orderId: 101, lineItemIds: [1, 2, 3]}, function(err) {
  if (err) throw err
  table.put({customerId: 23, orderId: 102, lineItemIds: [4, 5, 6]}, function(err) {
    if (err) throw err
    table.query({customerId: 23, orderId: {'>': 101}}, function(erritems) {
      if (err) throw err
      // [{customerId: 23, orderId: 102, lineItemIds: [4, 5, 6]}] 

Constructor of the table, including DynamoDB details, keys, mappings, etc

Corresponds to GetItem

Corresponds to PutItem

Corresponds to DeleteItem

Corresponds to UpdateItem

Corresponds to Query

Corresponds to Scan

Corresponds to BatchGetItem

Corresponds to BatchWriteItem

Corresponds to CreateTable

Corresponds to UpdateTable

Corresponds to DescribeTable

Corresponds to DeleteTable

Corresponds to ListTables

Helper to increment an attribute by a certain amount

Maps a JavaScript object to a DynamoDB-friendly object

Maps a DynamoDB object to a JavaScript object

Maps an individual attribute/value to a DynamoDB-friendly attribute

Maps an individual DynamoDB attribute to a JavaScript value

With npm do:

npm install dynamo-table

Thanks to @jed for his lightweight dynamo-client lib!