在 MongoEngine 中增加一个 IntField

Ric*_*ckD 2 python pymongo mongoengine

我在 Django 中有一个带有 MongoEngine 的模型,并且每次从 0 开始更新时都希望将该字段增加 1

我的模型看起来像这样,

import mongoengine

class Fix(mongoengine.Document):
    number = mongoengine.StringField(max_length=50, unique=True)
    count = mongoengine.IntField()
Run Code Online (Sandbox Code Playgroud)

我使用以下内容进行更新,但不确定如何将其设置为 0 以启动并增加 1,

Fix.objects(number="number").modify(upsert=True, new=True,set__count=???)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

mas*_*nun 6

你应该这样使用inc_count

Fix.objects(device_number="number").modify(upsert=True, new=True,inc__count=1)
Run Code Online (Sandbox Code Playgroud)

这将增加count通过1原子。

对于设置为0,您可以0在模型上使用默认值。如果未设置任何值,增量也应假定为 0。