mongoengine过滤查询不起作用

时间:2014-12-10 02:39:35

标签: flask-mongoengine

我已经定义了Flavor文档,与我的其他模型非常相似,最近添加了is_archived字段:

class Flavor(BaseDocument):
    is_archived = BooleanField(default=False)

在python shell中,我可以验证我的Documents确实有字段并设置为布尔值:

for f in Flavor.objects.all():
    print f.is_archived, type(f.is_archived)

>> False <type 'bool>
>> False <type 'bool>
>> ...

但是当我filter查询时,它只返回自添加字段以来我创建的文档。

Flavor.objects(is_archived=False)
Flavor.objects.filter(is_archived=False)

>> [<Flavor: newFlavor>]
>> [<Flavor: newFlavor>]

如何更新过滤后的查询要收集的旧文档?

1 个答案:

答案 0 :(得分:2)

刚想通了。如何仔细构建问题的完美示例自然会导致答案:

for f in Flavor.objects.all():
    f.update(set__is_archived=f.is_archived)