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

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'


Tired of switching accounts and regions? Use Dynobase.

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

Product Features

© 2022 Dynobase

Login to the AWS Console less.
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.