dictionary - Mongoengine - 如何自动更新字典?

标签 dictionary updates mongoengine

我有一个如下所示的模型:

class TestDoc(Document):
    name = StringField()
    friends = ListField(StringField())
    address_book = DictField()

我希望每当 friend 列表发生变化时自动更新地址簿字段。如何在原子操作中修改这两个字段?我在文档中找不到任何修饰符:

https://mongoengine-odm.readthedocs.org/en/latest/guide/querying.html#atomic-updates

这对字典进行原子更新。 谢谢!

最佳答案

当您每次从 friends 字段执行 $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)

关于dictionary - Mongoengine - 如何自动更新字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16101245/

相关文章:

MongoEngine:如何将文档附加到 ListField

arrays - Swift 3.0 删除字典数组中的重复项

python - 根据另一列填写空单元格

android - AGP版本升级失败

c# - 找不到脚本类,无法添加脚本组件?

python - 更新 mongoengine 中的嵌入文档列表

dictionary - 反转 f# Map <'a,Map<' b ,'T>>) -> Map<' b,Map <'a,' T>> 中的嵌套字典

python - 创建字典时 : TypeError: unhashable type: 'dict'

iphone - 在 iPhone 应用程序更新上将内容更新/插入到现有 Sqlite 数据库中

python - MongoEngine查询唯一属性