2
如何更新记录的字面元素以添加新密钥(如果不存在)或更新密钥的相应值(如果存在)。 例如:pymongo,mongodb为现有字典添加新密钥
record = {'_id':1,
'value': {'key1' : '200'}}
祝通过添加新的键 - 值对,以更新'value'
。例如value={'key2':'300'}
。所以我的期望更新的记录是:
record = {'_id':1,
'value': {'key1' : '200',
'key2' : '300'}}
我已经试过:
value={'key2':'300'}
mongo.db['mydb'].update(
{'_id': 1},
{'$set': {'value': value}})
但它覆盖的“价值”,不新密钥添加到它:
record = {'_id':1,
'value': {'key2' : '300'}}
我该如何实现这一目标?
如果什么''key2''存储在一个变量中,我仍然可以使用点符号吗? (它来自客户端的一个表单,并存储在一个变量中) – CentAu
您仍然可以使用点符号'{'$ set':{'value.key2':key2}}' – styvane
我的意思是假设key2是一个变量例如''键2 ='new_key'''。我使用了''{'$ set':{'value.key2':'blah'}}'',它给了我:'{'value':{'key2':'blah'}}',Where因为我需要:'{'value':{'new_key':'blah'}}'' – CentAu