mongoengine用继承查询嵌入式文档列表的最佳方法

时间:2018-11-09 21:53:58

标签: mongoengine flask-mongoengine

我有一个使用继承创建的嵌入式文档列表。因此,由于继承,某些字段可能不存在于所有嵌入式文档中。我尝试了以下方法:

案例1:缓慢(运行时间= 2.1s)

forms = db.Form.objects()
for form in forms:
    for element in form.elements:
        if hasattr(element, 'parameter'):
            if element.parameter == parameter:
                print(form)

案例2:快速(运行时间= 0.00014s)

forms = db.Form.objects(elements__match={ 'parameter': parameter })

情况3:不起作用!

forms = db.Form.objects(elements__parameter == parameter)

NameError: name 'elements__parameter' is not defined

我认为情况2和情况3是相同的,但是,__parameter似乎不知道如何处理使用继承且不具有“参数”字段的嵌入式文档。这是错误还是我做错了什么?

0 个答案:

没有答案