Python 想要一个aws Dynamodb的计数器吗
我有一个列为“Name”和“Vote”的表,每当我更新_项时,我都想增加投票计数。我尝试了下面的查询,但没有成功Python 想要一个aws Dynamodb的计数器吗,python,amazon-web-services,lambda,amazon-dynamodb,aws-lambda,Python,Amazon Web Services,Lambda,Amazon Dynamodb,Aws Lambda,我有一个列为“Name”和“Vote”的表,每当我更新_项时,我都想增加投票计数。我尝试了下面的查询,但没有成功 db.update_item(Key={ "Name":"Dany"}, UpdateExpression='ADD #oldVote :newVote', ExpressionAttributeNames={ '#oldVote' :'Vote'},
db.update_item(Key={ "Name":"Dany"},
UpdateExpression='ADD #oldVote :newVote',
ExpressionAttributeNames={ '#oldVote' :'Vote'},
ExpressionAttributeValues={':newVote': {"N": "1"}}
)
将错误获取为:
“调用UpdateItem时发生错误(ValidationException)
操作:无效的UpdateExpression:的操作数类型不正确
运算符或函数;运算符:加法,操作数类型:映射”
您可以尝试以下方法:
db.update_item(Key={ "Name":"Dany"},
UpdateExpression='SET Vote = Vote + :incr',
ExpressionAttributeValues={':incr': {"N": "1"}}
)
来源:请尝试以下更新。它应该解决这个问题
db.update_item(Key={ "Name":"Dany"},
UpdateExpression='SET #oldVote = #oldVote + :newVote',
ExpressionAttributeNames={ '#oldVote' :'Vote'},
ExpressionAttributeValues={':newVote': 1}
)
不走运!!“errorMessage”:“调用UpdateItem操作时发生错误(ValidationException):无效的UpdateExpression:运算符或函数的操作数类型不正确;运算符或函数:+,操作数类型:M”您确定
投票
字段当前正在存储数字吗?错误消息中的“操作数类型:M”是什么?您是在注释中包含了整个错误消息,还是切断了“操作数类型:映射”?这就是整个错误消息,我没有打断。成功了!非常感谢!