我尝试在UpdateExpression中使用ADD将电子邮件字符串添加到字符串集中,代码如下所示,但是遇到此异常:无效的UpdateExpression:运算符或函数的操作数类型不正确; operator:ADD,operand type:LIST。
我认为重点是我需要一种方法将类型更改为" string set" ,但不确定实现这一目的的语义是什么。
response = wishesTable.update_item(
Key={
'title': wishTitle,
'userMail': wishUsermail
},
UpdateExpression='ADD whoLikeList :my_value',
ExpressionAttributeValues={
":my_value": [userEmail]
},
ReturnValues="UPDATED_NEW"
)
答案 0 :(得分:1)
引用TypeSerializer类(http://boto3.readthedocs.io/en/latest/_modules/boto3/dynamodb/types.html )
将代码更改为以下内容,将其视为设置:
response = wishesTable.update_item(
Key={
'title': wishTitle,
'userMail': wishUsermail
},
UpdateExpression='ADD whoLikeList :my_value',
ExpressionAttributeValues={
":my_value": set([userEmail])
},
ReturnValues="UPDATED_NEW"
)