dynobase-icon
Dynobase

Error: dynamodb atomic counter not working

Rafal Wilinski

Answered by Rafal Wilinski

What's Causing This Error

You may encounter this error when trying to increment a value by using the "+" operator on a document path that does not exist for the item.

Solution - Here's How To Resolve It

To resolve the error, ensure that the document path that you provide exists in DynamoDB. If not, make sure to initialize the document path with a new value. This fix is shown below.

const doFunStuff = async () => {
  await documentClient.update({
      TableName: 'test-table',
      Key: {
          pk: '1'
      },
      UpdateExpression: 'set #count = if_not_exists(#count, :zero) + :incr',
      ExpressionAttributeNames: {
          '#count': 'count'
      },
      ExpressionAttributeValues: {
          ':incr': 1,
          ':zero': 0
      }
  }).promise();
};

doFunStuff();

The snippet above uses the if_not_exists() function in DynamoDB that checks if a value exists at the specified document path. If not, it will initialize "0" at the specified document path before incrementing.

Better DynamoDB experience.

First 7 days are on us. No strings attached.

Product Features

Download
/
Changelog
/
Pricing
/
Member Portal
/
Privacy
/
EULA
/
Twitter
© 2024 Dynobase
+
Using DynamoDB Console frequently?
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.