dynamo-table
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.
Example
var dynamoTable = // Will use us-east-1 and credentials from process.env unless otherwise specifiedvar table = table
API
dynamoTable(name, [options])
new DynamoTable(name, [options])
Constructor of the table, including DynamoDB details, keys, mappings, etc
get(key, [options], callback)
Corresponds to GetItem
put(jsObj, [options], callback)
Corresponds to PutItem
delete(key, [options], callback)
Corresponds to DeleteItem
update(key, actions, [options], callback)
update(jsObj, [options], callback)
Corresponds to UpdateItem
query(conditions, [options], callback)
Corresponds to Query
scan([conditions], [options], callback)
Corresponds to Scan
batchGet(keys, [options], [tables], callback)
Corresponds to BatchGetItem
batchWrite([operations], [tables], callback)
Corresponds to BatchWriteItem
createTable(readCapacity, writeCapacity, [indexes], [options], callback)
Corresponds to CreateTable
updateTable(readCapacity, writeCapacity, [options], callback)
Corresponds to UpdateTable
describeTable([options], callback)
Corresponds to DescribeTable
deleteTable([options], callback)
Corresponds to DeleteTable
listTables([options], callback)
Corresponds to ListTables
increment(key, attr, [incrAmt], [options], callback)
Helper to increment an attribute by a certain amount
mapToDb(jsObj)
Maps a JavaScript object to a DynamoDB-friendly object
mapFromDb(dbItem)
Maps a DynamoDB object to a JavaScript object
mapAttrToDb(val, [key], [jsObj])
Maps an individual attribute/value to a DynamoDB-friendly attribute
mapAttrFromDb(val, [key], [dbItem])
Maps an individual DynamoDB attribute to a JavaScript value
Installation
With npm do:
npm install dynamo-table
Thanks
Thanks to @jed for his lightweight dynamo-client lib!