【问题标题】:Mongoengine check if entire case insensitive string is contained in ListField()Mongoengine 检查整个不区分大小写的字符串是否包含在 ListField() 中
【发布时间】:2013-11-14 08:21:58
【问题描述】:

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

我通过执行尝试使用 mongoengine

User.Objects.filter(emaillist__contains=email)

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

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

乔纳斯

【问题讨论】:

  • 您尝试过link 中显示的最简单方法吗?只是通过电子邮件列表查询?

标签: django mongodb mongoengine listfield


【解决方案1】:

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 2017-01-11
    • 2015-07-18
    • 2010-09-10
    • 2022-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多