我想过滤类别值的数据,但我不知道如何在mongoengine中这样做.
我尝试:
data = Data.objects.exclude(category="").order_by('-datetime')[:500]
但得到错误:
exclude() got an unexpected keyword argument 'category'
我没有在文档中找到方法,你是怎么做到的?
最佳答案
我觉得你混淆了两个概念:过滤文档和返回文档子集.
原文链接:https://www.f2er.com/python/438446.html返回文档子集
exclude告诉mongo返回没有类别字段的所选文档.它不会过滤文档,只返回相同的文档,但没有类别字段:文档子集.剥离不需要的东西可以提高性能.排除并且只实现相同的目标,除了排除黑名单字段,而只列入白名单字段.
过滤文件
您想要的是使用Queryset过滤文档:
data = Data.objects({'category':{'$ne':''}}).order_by('-datetime')[:500]
data = Data.objects(category__ne='').order_by('-datetime')[:500]