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