如何用mongoengine批量查询字段?

时间:2014-07-17 19:58:18

标签: python mongodb flask mongoengine

我对mongoengine和MongoDB很新。我正在尝试在Flask中构建一个高级搜索页面,并填写许多字段。

当按下搜索按钮时,Flask会调用一个获取url所有参数的函数,实际上是创建参数的python字典。

有没有办法可以使用该字典用mongoengine(或任何其他库)动态查询MongoDB字段?既可以,也可以将其放在其他数据结构中?

因此,例如,如果填写了namesetcolor字段,我想要的等效SQL语句将是:

SELECT *
FROM myTable
WHERE `name` = 'nameval' AND `set` = 'setval' AND `color` = 'colorval';

如果mongoengine无法做到这一点,那么还有一个吗?

此外,我会对此进行硬编码,但是有大约25个字段需要查询,这意味着会有很多重复的内容。

1 个答案:

答案 0 :(得分:1)

是的,你可以传递一个字典进行过滤,只要它们作为kwargs传递,例如:

MyModel.objects(**myQueryDictionary)