dynobase-icon
Dynobase

Error: an expression attribute name used in the document path is not defined

Rafal Wilinski

Answered by Rafal Wilinski

What's Causing This Error

This error occurs when you have used expression attribute names for the KeyConditionExpression or FilterExpression that are not defined in the ExpressionAttributeNames parameter.

Solution - Here's How To Resolve It

To resolve the error, define all the expression attribute names you've specified for the document paths in the ExpressionAttributeNames object.

This is shown below.

const doFunStuff = async () => {
  await documentClient.query({
      TableName: 'test-table',
      KeyConditionExpression: '#id = :id',
      ProjectionExpression: '#name',

      // define all the expression attribute names used in the query

      ExpressionAttributeNames: {
          '#id': 'id',
          '#name': 'name'
      },
      ExpressionAttributeValues: {
          ':id': '1'
      },
  }).promise();
};

doFunStuff();

Spend less time in the AWS console, use Dynobase.

Try 7-day free trial. No credit card needed.

Product Features

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