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'


Better DynamoDB experience.

Start your 7-day free trial today

Product Features

© 2022 Dynobase

Better DynamoDB Experience.
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.