例如..
class Page(Document)
tags = ListField(StringField())
在这种情况下,我们可以像这样在标签列表中找到一个值。
Page.objects(tags='coding')
如果代码类似于['编码',' x',' y'],则该文档将匹配...
但我的问题是如何找到不在列表字段中的值。
我的错误代码将是......
Page.objects(tags!='coding')
或
Page.objects(tags__not = 'coding')
或
Page.objects(tags__not__in = 'coding')
但是......他们不能简单地工作..
如何查询ListField中没有给定值的文档?
答案 0 :(得分:15)
要查找没有代码编码的任何网页,请使用$nin运算符:
Page.objects(tags__nin=['coding'])
答案 1 :(得分:1)
我会跳过在这个上使用内置mongo语法,只使用原始查询:
Page.objects(__raw__={"tags" : {"$ne" : ['coding']}})
随着查询变得越来越复杂,你希望你这样设置它。