Mongoengine检查ListField()中是否包含整个不区分大小写的字符串

时间:2013-11-14 08:21:58

标签: django mongodb mongoengine listfield

我正在尝试构建一个查询,该查询返回ListField(EmailField())中具有特定电子邮件地址的所有对象。

我通过执行

尝试使用mongoengine
User.Objects.filter(emaillist__contains=email)

问题是当emailstring是电子邮件发送者中包含的电子邮件的子字符串时,该对象也会被返回。但是,我只希望在Listfield中包含整个不区分大小写的emailstring时返回它。

这可能以某种方式或通过执行原始查询吗? 任何提示或帮助都非常感谢!

纳斯

1 个答案:

答案 0 :(得分:3)

documentation他们有这个模型,类似于你的电子邮件:

class Post(Document):
    tags = ListField(StringField(max_length=30))

他们这样查询:

for post in Post.objects(tags='mongodb'):
    print post.title

所以你的查询应该像这样工作(不区分大小写):

User.Objects.filter(emaillist__iexact=email)