Releases: sensedeep/dynamodb-onetable
v1.1.0
Minor Milestone Release
Features
- Add one-to-many attribute mapping
- Support various binary types: Buffer, ArrayBuffer, DataView
- Add params.transform for custom data format transformations
- Add schema.index.follow to set a GSI into a global
follow
mode - Updated doc
One to Many attribute mapping
The schema field map
property can be used to set an alternate or shorter attribute name when storing in the database. Previously, this map value was a simple string which defined the real attribute name.
This release allows the map value to be a two part pair of the form: 'obj.name'. Using this form the item property will be stored in an object attribute named "obj" with the given name
. This allows multiple item properties to be aggregated together into a single attribute for storage in the DynamoDB table.
This is most useful for GSIs which project keys and a single data field to minimize the storage footprint of the index. Using one-to-many attribute mappings, multiple models (entities) can project different attributes into a single GSI data attribute. When coupled with sparse indexes, this makes using GSIs much more flexible and cost effective to implement your query access patterns.
Fixes
See
v1.0.0
Major Milestone Release
Features
- Schema supported one-table access to DynamoDB APIs.
- Efficient storage and access of multiple entities in a single DynamoDB table.
- High level API with type marshaling, validations, and extended query capability for get/delete/update operations.
- Bidirectional conversion of DynamoDB types to Javascript types.
- Option to invoke DynamoDB or simply generate API parameters.
- Generation of Conditional, Filter, Key and Update expressions.
- Schema item definitions for attribute types, default values, enums and validations.
- Powerful field level validations with required and transactional unique attributes.
- Easy parameterization of filter and conditional queries.
- Multi-page response aggregation.
- Compound and templated key management.
- Encrypted fields.
- Support for Batch, Transactions, GSI, LSI indexes.
- Intercept hooks to modify DynamoDB requests and responses.
- Controllable logging to see exact parameter, data and responses.
- Simple, easy to read source to modify (< 1000 lines).
- Safety options to prevent "rm -fr *".
- Integrated metrics.
- No module dependencies.
- Support for the AWS SDK v3 and v2
Fixes
- None
See
v0.7.2
v0.7.0
Major Feature Release
This release brings support for the AWS SDK v3.
Features
- Support AWS SDK v3
- Add parse:true option to queryItems to read item collections
- Add Table.groupByType utility
Fixes
- Fix validating KeyConditionExpression and FilterExpression operators
- Fix find/query with {begins: 'value} and {operator: 'value'} queries
- Fix some issues with batch* operations
- Fix unique field support when PK/SK were not named pk/sk
- Documentation fixes