如何在mongoengine中将数据添加到字典? 我没有再次保存整个dict的数据,我一次只想添加一个项目。
我尝试过使用:
Lookups.objects(pk="52d3a8e318fbaf0e1075de4f").update(push__schools=new_schools)
但我认为这不起作用的原因是因为push
是将项目添加到列表而不是dict。有人可以帮帮我吗?
答案 0 :(得分:4)
你应该使用$ set例如:
Lookups.objects(pk="52d3a8e318fbaf0e1075de4f").update(set__schools__KEY=VALUE)
<强>更新强>
如果你想设置多个键,那么你可以:
Lookups.objects(pk=x).update(set__schools__KEY=VALUE, set__schools__KEY1=VALUE1)
获取键和值的字典 - 您可以转换为新的字典并更新如下:
new_schools = {"key1": "value1", "key2": "value2"}
set_new_schools = dict((("set__schools_%s" % k, v) for k,v in new_schools.iteritems()))
Lookups.objects(pk=x).update(**set_new_schools)