2016-04-22 2 views
1

У меня есть список карт как одно поле таблицы DynamoDB. Как я могу обновить конкретный элемент (или, скорее поле элемента?) Пытаться что-то вродеэлемент списка обновления в dynamodb

rc = table.update_item(Key={ 'username' : user }, 
    UpdateExpression="set list[:i].field = :nd", 
    ExpressionAttributeValues={ 
     ':i' : itemnum, 
     ':nd': data, 
    }, 
    ReturnValues="UPDATED_NEW" 
); 

Но я получаю сообщение об ошибке:

Invalid UpdateExpression: Syntax error; token: ":i", near: "[:i]" 

Любые идеи, как я могу ссылаться на элемент списка с переменной номер. Благодарю.

ответ

2

Использование буквальным вместо:

rc = table.update_item(Key={ 'username' : user }, 
    UpdateExpression="set list[" + itemnum + "].field = :nd", 
    ExpressionAttributeValues={ 
     ':nd': data, 
    }, 
    ReturnValues="UPDATED_NEW" 
); 
Смежные вопросы