根据我的代码,首先,我向地图添加一个新字典,它会成功更新到我的地图。但是,当我向地图添加另一个字典时,地图中的现有键会被覆盖。
def update_item(table_name, id, new_company):
table = dynamodb.Table(table_name)
result = table.update_item(
Key={
'id': id
},
UpdateExpression="SET company = :company",
ExpressionAttributeValues={
':company': new_company
},
ReturnValues="ALL_NEW"
)
print(result)
if __name__ == '__main__':
company_1 = {
"Facebook" : {
"CEO" : "Mark"
}
}
update_item('companies', 1, company_1)
company_2 = {
"Twitter": {
"CEO": "Jack"
}
}
update_item('companies', 1, company_2)
我的输出:我的 Dynamodb 表中可用的项目
{
'company': {
'Twitter': {
'CEO': 'Jack'
}
},
'id': Decimal('1'),
'industry': 'industry'
}
预期输出:
{
'company': {
'Facebook': {
'CEO': 'Mark'
}
'Twitter': {
'CEO': 'Jack'
}
},
'id': Decimal('1'),
'industry': 'industry'
}
当我向地图添加新字典时,如何避免覆盖现有字典?我是 DynamoDB 的新手,任何建议都会有帮助。
阿晨1998
慕姐8265434
红颜莎娜
相关分类