Запрос параметров с помощью клиента DynamoDB Doc

#node.js #amazon-web-services #aws-lambda #amazon-dynamodb #documentclient

#node.js #amazon-веб-сервисы #aws-lambda #amazon-dynamodb #documentclient

Вопрос:

Я пытаюсь написать параметры для своего запроса DynamoDB. Я получаю сообщение об ошибке, и я полагаю, что это связано с этим запросом.

 let params = {
    TableName: tableName,
    KeyConditionExpression:
      '(TimeId = :timeId AND begins_with ( TypeKey , :typeKey)) AND (awayTeam = :teamName OR homeTeam = :teamName)',
    ExpressionAttributeValues: {
      ':timeId': `${year}-${week}`,
      ':typeKey': 'GA',
      ':teamName': teamName,
    },
};
  

СООБЩЕНИЕ ОБ ОШИБКЕ: Invalid operator used in KeyConditionExpression: OR

 PK: TimeId
SK: TypeKey
attributes: awayTeam  |  homeTeam
  

Может кто-нибудь сообщить мне, что я делаю не так? год, неделя и имя команды определяются как параметры пути.

Комментарии:

1. Опубликовать сообщение об ошибке

2. можете ли вы попробовать FilterExpression: ‘(TimeId = :timeId И begins_with (TypeKey , :TypeKey)) И (AwayTeam = :имякоманды ИЛИ HomeTeam = :имякоманды)’ вместо выражения KeyConditionExpression

3. @Nonik Я все еще получаю сообщение об ошибке, поскольку необходимо указать KeyConditionExpression или KeyConditions. Собираюсь попробовать это сочетание.

4. KeyConditionExpression Этот параметр используется для предоставления конкретных значений для ключей разделения / сортировки. Это означает, что он может включать только предикаты, включающие ключ раздела (тест на равенство) и атрибуты ключа сортировки (с ограниченными условными операторами ).