Amazon dynamodb UpdateExpression无效:运算符或函数的操作数类型不正确;运算符:添加,操作数类型:列表
我试图使用外接程序UpdateExpression将电子邮件字符串添加到字符串集中,代码如下,但遇到以下异常:UpdateExpression无效:运算符或函数的操作数类型不正确;运算符:添加,操作数类型:列表 我想重点是我需要一种方法将类型更改为“字符串集”,但不确定实现这一点的语义是什么Amazon dynamodb UpdateExpression无效:运算符或函数的操作数类型不正确;运算符:添加,操作数类型:列表,amazon-dynamodb,Amazon Dynamodb,我试图使用外接程序UpdateExpression将电子邮件字符串添加到字符串集中,代码如下,但遇到以下异常:UpdateExpression无效:运算符或函数的操作数类型不正确;运算符:添加,操作数类型:列表 我想重点是我需要一种方法将类型更改为“字符串集”,但不确定实现这一点的语义是什么 response = wishesTable.update_item( Key={ 'title': wishTitle,
response = wishesTable.update_item(
Key={
'title': wishTitle,
'userMail': wishUsermail
},
UpdateExpression='ADD whoLikeList :my_value',
ExpressionAttributeValues={
":my_value": [userEmail]
},
ReturnValues="UPDATED_NEW"
)
通过引用TypeSerializer类( ) 将代码更改为以下,将被视为已设置:
response = wishesTable.update_item(
Key={
'title': wishTitle,
'userMail': wishUsermail
},
UpdateExpression='ADD whoLikeList :my_value',
ExpressionAttributeValues={
":my_value": set([userEmail])
},
ReturnValues="UPDATED_NEW"
)
还请注意,您需要确保字段最初是使用
set(list)
设置的,而不仅仅是list
,否则它将无法更新,因为dynamo中的属性不是一个集合。更新为使用set()也为我修复了它(谢谢!),只需更改我的初始插入代码。谢谢,这为我修复了它!仅供参考,您还可以使用集合文字“:my_value”:{userEmail}
而不是“:my_value”:set([userEmail])
。