gpt4 book ai didi

amazon-dynamodb - 如何通过主键和其他条件更新项目?

转载 作者:行者123 更新时间:2023-12-03 19:15:10 26 4
gpt4 key购买 nike

我正在尝试通过 email 更新项目(哈希PK),idverifyToken .我的查询如下所示:

params =
TableName: 'users'
Key:
email:
S: 'example@email.com'
AttributeUpdates:
verified:
Action: 'PUT'
Value:
BOOL: true
verifyToken:
Action: 'DELETE'
ExpressionAttributeValues:
':id': { S: '123' }
':verifyToken': { S: 'XXX' }
ConditionExpression: 'id = :id and verifyToken = :verifyToken'

dynamodb.updateItem(params)

换句话说,我想更新 Item where email = 'example@email.com' AND id = '123' AND verifyToken = 'XXX',但我收到以下错误:
Can not use both expression and non-expression parameters in the same request: 
Non-expression parameters: {AttributeUpdates}
Expression parameters: {ConditionExpression}

最佳答案

您将旧参数 ( AttributeUpdates ) 与表达式参数 ( ConditionExpression ) 结合使用,这些参数仅用于向后兼容。正如错误所述,您不能这样做。

您需要使用 UpdateExpression 连同您的 ConditionExpression .

它会是这样的。您可能需要在 UpdateExpression 中使用表达式属性名称/值。 :

ConditionExpression: 'id = :id and verifyToken = :verifyToken'
UpdateExpression: 'SET verified = true, REMOVE verifyToken'

this documentation有关更新表达式的更多信息

关于amazon-dynamodb - 如何通过主键和其他条件更新项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32276502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com