Mongoengine查询ListField是否包含来自另一个列表的至少一个元素

时间:2015-02-23 07:38:59

标签: python mongoengine

我在mongoengine中有以下模型 -

class Job(Document):
   heading = StringField(required = True)
   skills = ListField(StringField(), default = [])

我想查询所有Job个名为user_skills

的另一个变量中存在技能的Job1 - skills: ['C', 'C++', 'Java'] Job2 - skills: ['Python', 'Ruby', '.NET'] Job3 - skills : ['Testing', 'HTML', 'JavaScript']

例如,假设我们有三个工作 -

user_skills

['C', 'Java', 'Python']是一个变量,其值为Jobs

我想获取其技能至少包含一项与user_skills相匹配的技能的所有Job1,在这种情况下Job2和{{1}}。

如何在Mongoengine中形成这样的查询?

1 个答案:

答案 0 :(得分:1)

您可以在查询中使用in运算符。

Job.objects(skills__in=user_skills)

user_skills应该是您要匹配的列表

进一步查询

检查https://mongoengine-odm.readthedocs.org/guide/querying.html