Как обновить дубликарный элемент записи, чтобы добавить новый ключ, если он не существует, или обновить соответствующее значение ключа, если оно существует. Например: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 является переменной например '' Key2 = 'new_key'''. Я использовал '' {'$ set': {'value.key2': 'blah'}} '', он дает мне: '' {'значение': {'key2': 'blah'}} '', Where как мне нужно: '' {'value': {'new_key': 'blah'}} '' – CentAu