如何在mongo引擎中使用$符号进行多次更新

时间:2011-10-20 17:25:27

标签: mongoengine

如何在.py文件中使用带有mongo引擎的$符号进行多次更新,给出一个小例子。

3 个答案:

答案 0 :(得分:2)

请参阅文档中的Atomic Updates

Foo.objects.all().update(set__bar='baz')

答案 1 :(得分:1)

mongoengine测试套件中的Theres示例:

https://github.com/MongoEngine/mongoengine/blob/master/tests/queryset.py#L313-382

一个简单的例子:

class BlogPost(Document):
    title = StringField()
    tags = ListField()

BlogPost.drop_collection()

BlogPost(title="ABC", tags=['mongoEngien']).save()

BlogPost.objects(tags="mongoEngien").update(set__tags__S="MongoEngine")

答案 2 :(得分:1)

>>> data = dict(set__real_rate=1, set__rate=1, set__change=1, set__variance=1, set__tags=[], set__cloud={}, set__description='not much')
>>> Grid.objects(id='tv').update(upsert=True, **data)
1