Dictionary Mongoengine-如何以原子方式更新字典?

Dictionary Mongoengine-如何以原子方式更新字典?,dictionary,updates,mongoengine,Dictionary,Updates,Mongoengine,我有一个这样的模型: class TestDoc(Document): name = StringField() friends = ListField(StringField()) address_book = DictField() 我希望在朋友列表更改时自动更新地址簿字段。如何在原子操作中修改这两个字段?我在文档中找不到任何修改器: 这使得字典的原子更新。 谢谢 每次从好友字段执行$push或$pull操作时,您还必须在同一更新中修改通讯簿,例如: TestDo

我有一个这样的模型:

class TestDoc(Document):
    name = StringField()
    friends = ListField(StringField())
    address_book = DictField()
我希望在朋友列表更改时自动更新地址簿字段。如何在原子操作中修改这两个字段?我在文档中找不到任何修改器:

这使得字典的原子更新。
谢谢

每次从
好友
字段执行
$push
$pull
操作时,您还必须在同一更新中修改
通讯簿
,例如:

TestDoc(name="Sue", friends=["Bob", "Sarah"], 
        address_book={"Bob": "1 the farm", "Sarah": "Owl house"}).save()

TestDoc.objects(name="Sue").update(pull__friends="Bob", 
                                   unset__address_book__Bob=1)

哦,我明白了:所以你可以使用…啊,我应该想到这个!再次感谢你,罗斯!Ross,我还有另一个问题:如果地址簿字典字段看起来像:地址簿={“Mary”:{“parents\u address”:[“12 OceanWay”,“13 Long Rd”]},“Bob”:{“work\u address”:[“45 CentralRd”]}会怎么样?我怎样才能以原子方式更新例如“12 OceanWay”以将其更改为“13 OceanWay”?