我正在尝试构建一个查询,该查询返回 ListField(EmailField())
中具有特定电子邮件地址的所有对象。
我通过执行尝试使用 mongoengine
User.Objects.filter(emaillist__contains=email)
问题是,当电子邮件字符串是电子邮件列表中包含的电子邮件的子字符串时,也会返回该对象。但是,我只希望当整个不区分大小写的电子邮件字符串包含在列表字段中时返回它。
这是否可以通过某种方式或通过执行原始查询来实现? 非常感谢任何提示或帮助!
乔纳斯
最佳答案
在 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)
关于django - Mongoengine 检查 ListField() 中是否包含整个不区分大小写的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19972722/