python – mongoengine过滤字段如何不为空?

前端之家收集整理的这篇文章主要介绍了python – mongoengine过滤字段如何不为空?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想过滤类别值的数据,但我不知道如何在mongoengine中这样做.

我尝试:

data = Data.objects.exclude(category="").order_by('-datetime')[:500]  

但得到错误

exclude() got an unexpected keyword argument 'category'

我没有在文档中找到方法,你是怎么做到的?

最佳答案
我觉得你混淆了两个概念:过滤文档和返回文档子集.

返回文档子集

exclude告诉mongo返回没有类别字段的所选文档.它不会过滤文档,只返回相同的文档,但没有类别字段:文档子集.剥离不需要的东西可以提高性能.排除并且只实现相同的目标,除了排除黑名单字段,而只列入白名单字段.

过滤文件

您想要的是使用Queryset过滤文档:

data = Data.objects({'category':{'$ne':''}}).order_by('-datetime')[:500]

或使用double underscore syntax

data = Data.objects(category__ne='').order_by('-datetime')[:500]

the tutorial.

原文链接:https://www.f2er.com/python/438446.html

猜你在找的Python相关文章