2016-04-22 22 views
1

私はDynamoDBテーブルの1つのフィールドとしてマップのリストを持っています。どのように私は、特定の要素に更新することができます 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" 
); 
関連する問題