Как получить доступ к вложенным элементам в DynamoDB с помощью NodeJS и условных выражений? - PullRequest
0 голосов
/ 15 мая 2018

У меня возникают проблемы при попытке доступа к элементам, вложенным в таблицу DynamoDB, с помощью условных выражений.Код, который я пытаюсь сделать, выглядит следующим образом:

const params = {
TableName: 'Games',
Key: {
  id: gameID.id,
},
UpdateExpression: 'SET #players = list_append(#answers , :answer)',
ConditionExpression: '#players CONTAINS :playerID',
ExpressionAttributeNames: {
  '#players': 'Players',
  '#answers': 'answers',
},
ExpressionAttributeValues: {
  ':playerID': userID.id,
  ':answer': tempAnswerList,
},
ReturnValues: 'ALL_NEW',

Эта версия, например, вызывает ошибку:

Invalid ConditionExpression: Syntax error; token: "CONTAINS", near: "#players CONTAINS :playerID"

Пример схемы БД

Есть ли способ просмотреть массив, не зная его идентификатор?В качестве примечания я искал подстановочные знаки для использования в #players, поскольку это список, но я не вижу их в документах.

Спасибо, Марк

1 Ответ

0 голосов
/ 15 мая 2018

Пожалуйста, измените contains, как указано ниже, и попробуйте.

ConditionExpression: 'contains (#players, :playerID)',
...