use*_*364 5 python mongodb mongoengine mongodb-query
我想用category值过滤数据,但我不知道如何做到这一点mongoengine.
我尝试:
data = Data.objects.exclude(category="").order_by('-datetime')[:500]
Run Code Online (Sandbox Code Playgroud)
但得到错误:
exclude() got an unexpected keyword argument 'category'
Run Code Online (Sandbox Code Playgroud)
我没有在文档中找到方法,你是怎么做到的?
我感觉您混淆了两个概念:过滤文档和返回文档子集。
\nexclude告诉 mongo 返回不带类别字段的选定文档。它不会过滤文档,只是返回相同的文档,但没有类别字段:文档子集。去掉不需要的东西可以提高性能。exclude并only达到相同的目标,除了exclude黑名单字段,而only白名单字段。
您想要的是使用查询集过滤文档:
\ndata = Data.objects({\'category\':{\'$ne\':\'\'}}).order_by(\'-datetime\')[:500]\nRun Code Online (Sandbox Code Playgroud)\n或使用双下划线语法:
\ndata = Data.objects(category__ne=\'\').order_by(\'-datetime\')[:500]\nRun Code Online (Sandbox Code Playgroud)\n请参阅教程。
\n| 归档时间: |
|
| 查看次数: |
2921 次 |
| 最近记录: |