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(err, items) {
if (err) throw err
console.log(items)
// [{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!