dynobase-icon
Dynobase

Error: dynamodb can not resolve withkeyconditionexpression

What's Causing This Error

This error may occur when you provide an invalid DynamoDB query param in the DocumentClient of Node.js AWS SDK. For example, the Node.js DocumentClient uses the KeyConditionExpression and not withKeyConditionExpression (unlike Java), and therefore, you may run into this error when you incorrectly provide the Key Condition Parameter.

Solution: Here's How To Resolve It

To resolve the error, use KeyConditionExpression in the Query Params, as shown below.

const docClient = new AWS.DynamoDB.DocumentClient({apiVersion: '2012-08-10'});

const params = {
  ExpressionAttributeValues: {
    ':s': 2,
    ':e': 9,
    ':topic': 'PHRASE'
    },
  KeyConditionExpression: 'Season = :s and Episode > :e',
  FilterExpression: 'contains (Subtitle, :topic)',
  TableName: 'EPISODES_TABLE'
};

docClient.query(params, function(err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.Items);
  }
});

Spend less time in the AWS console, use Dynobase.

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

Product Features

© 2022 Dynobase

+
Tired of AWS Console?
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.