Amazon-web-services – Add or remove an entry from a List type attribute in a DynamoDB table item

amazon-dynamodbamazon-web-serviceslist

I have a very simple class, with a string type primary key and List type attributes. I want to write an API for adding and removing an item from the attribute list, and saving the changes back to DDB.

The simplest solution I can think of is:

  1. Read the list (if it exists)
  2. If it exists, remove or add the item from the List type attribute
  3. Put the modified object back

Is there a cleaner/simpler way to do this via DynamoDB java API?

Best Answer

The accepted answer is incorrect, the correct way of doing this is listed in the DynamoDB UpdateExpression documentation

You need to read the list then get the index of the item you're looking to remove then run REMOVE list[index] as an UpdateExpression