#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
Этот параметр используется для предоставления конкретных значений для ключей разделения / сортировки. Это означает, что он может включать только предикаты, включающие ключ раздела (тест на равенство) и атрибуты ключа сортировки (с ограниченными условными операторами ).