我在集合中有一些这样的记录:
{
'_id': 1,
'test_field': [{'key1': 'value1'}, {'key2': 'value2'}]
}
test_field是一个字典列表。如果某个键不存在,我需要在列表中push new dict,如果存在,我需要更新该键的值。
例子:
{'key1': 'test_value'}
→'test_field': [{'key1': 'test_value'}, {'key2': 'value2'}]
{'test_key': 'test_value2'}
→'test_field': [{'key1': 'value1'}, {'key2': 'value2'}, {'test_key': 'test_value_2'}]
帮助请
如果你需要python中的一个函数来完成它,这可能对你有用。
def modify_test_field(my_dict, test_field, new_key, new_val):
my_dict[test_field] = [obj for obj in my_dict[test_field] if new_key not in obj]
my_dict[test_field].append({new_key: new_val})
命名为modify_test_field(orig_dict, 'test_field', new_key, new_val)