gpt4 book ai didi

python - 发电机 : Update atomic counter and add other info if new item

转载 作者:行者123 更新时间:2023-12-05 06:42:57 25 4
gpt4 key购买 nike

我有一个只有一个散列键和两个数值的数据库:countersome_value

我想更新原子计数器 counter。我知道 boto/DyamoDb 会帮我创建元素(如果数据库中还没有)。

因为我正在创建元素,所以我想使用相同的写入操作也将 some_value 放入数据库中。是否可以在这方面修改 update_item 代码?

table.update_item(
Key={
'my_key': some_string
},
UpdateExpression="SET counter = if_not_exists(counter , :start) + :inc",
ExpressionAttributeValues={
':inc': 1,
':start' : 0
},
ReturnValues="UPDATED_NEW"
)

最佳答案

,您还可以随计数器一起更新some_item。事实上,您可以更新多个项目。下面是用于更新多个值的久经考验的代码。

    table.update_item(
Key={
'my_key': some_string
},
UpdateExpression="SET #counter = if_not_exists(#counter, :start) + :inc, #some_value = if_not_exists(#some_value, :start) - :inc",
ExpressionAttributeNames={'#counter': 'counter', '#some_value': 'some_value'},
ExpressionAttributeValues={
':inc': 1,
':start': 0
},
ReturnValues="UPDATED_NEW"
)

PS:始终定义您的 expression attribute names而不是直接在表达式中使用它,以避免冲突和后续错误。

关于python - 发电机 : Update atomic counter and add other info if new item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353324/

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