Python 3.x Dynamodb在dict中添加或更新密钥
我有一个dynamodb表,其结构如下:Python 3.x Dynamodb在dict中添加或更新密钥,python-3.x,dictionary,amazon-dynamodb,Python 3.x,Dictionary,Amazon Dynamodb,我有一个dynamodb表,其结构如下: 'Items': [ {'user_id': 'myuser', 'owes_to': { 'youruser': '10', 'user3': '20' } }] 在dynamodb中是否可以在owes\u to中创建新的用户密钥,或者如果它已经存在,则添加到该密钥的值中 在两个调用中的示例中: 添加值为20的“user4”,它不存在,因此创建值为20的user4键) 下次将use
'Items': [
{'user_id': 'myuser',
'owes_to': {
'youruser': '10',
'user3': '20'
}
}]
在dynamodb中是否可以在owes\u to
中创建新的用户密钥,或者如果它已经存在,则添加到该密钥的值中
在两个调用中的示例中:
更新表达式可能类似于以下内容:
update_request = {
Key={'user_id': ':id'},
UpdateExpression='SET owes_to.#user_name = if_not_exists(owes_to.#user_name, :default_val) + :val',
ExpressionAttributeNames={
'#user_name': <your_user_name>
}
ExpressionAttributeValues={
':id': 'myuser',
':val': <your_update_value>,
':default_val': 0
}
}
update\u请求={
Key={'user_id':':id'},
UpdateExpression='SET owes_to.#user_name=如果不存在(owes_to.#user_name,:default_val)+:val',
表达式属性名称={
“#用户名”:
}
表达式属性值={
“:id”:“myuser”,
“:val”:,
“:默认值”:0
}
}
注意if_not_存在(归功于.#user_name,:default_val)
construction。如果存在,它将获取用户的值;如果不存在,它将获取:default_val
中指定的值。
有关在中添加和更新贴图值的详细信息