Filtering / Querying by the Contents of a List in DynamoDB


I am attempting to filter a DynamoDB query by the contents of a Map contained within a List. Here's an example of the structure I'm dealing with.

    'EventType': 'git/push'
    'EventTime': 1416251010,
    'Commits': [
            'id': '29d02aff...',
            'subject': 'Add the thing to the place'
            'id': '9d888fec...',
            'subject': 'Spelling errors'

The hash key is EventType and range key EventTime. I am trying to write a filter that filters the result of a query to a specific id. Is is possible to create a DynamoDB filter expression that correctly filters the query like this? (My first thought was to use contains (a, a), but I don't think that will work on a List of Maps.)

Best Solution

This isn't currently supported by DynamoDB's API's expression language (as of November 2014) but there are some workarounds mentioned here.

Related Question