更新项目由此示例描述:
table.update_item(
Key={
'username': 'janedoe',
'last_name': 'Doe'
},
UpdateExpression='SET age = :val1',
ExpressionAttributeValues={
':val1': 26
}
)
但是如果我想要更新项目的多个值,我应该怎么做。我无法找到有关此信息的任何信息。有人可以帮忙吗?谢谢!
编辑:
好吧,它似乎像这样工作,任何人都可以确认这是正确的方法。只是为了确保我在这里没有做任何完全错误。
table.update_item(
Key={
'id': item['id']
},
UpdateExpression='SET value1 = :val1, value2 = :val2',
ExpressionAttributeValues={
':val1': someValue1,
':val2': someValue2
}
)
谢谢!
答案 0 :(得分:7)
是的,这是方法。甚至很多动作都可以在单个表达式中完成,如here所示。 例如:多个' PUT'和'删除'单表达。
答案 1 :(得分:0)
对于其他发现此问题的人,您可以使用一个库来帮助处理诸如ExpressionAttributeValues
之类的奇怪的boto3。这样,您就可以拨打普通的开发人员/人工电话。
https://github.com/rayepps/dynamof
db(update(
table_name='users',
key={ 'id': item['id'] },
attributes={
'age': 26,
'name': 'Carl'
}))
免责声明:我写的