我似乎无法使用布尔运算在Mongo聚合上找到任何资源.我的查询看起来像这样(我使用的是pymongo驱动程序):
db.collection.aggregate([{'$match': {'foo': 3, 'bar': 'baz'}},
{'$project': {'quxx': 1, '_id': 0, 'count': 1}},
{'$group': {'total': {'$sum': '$count'}, '_id': '$quxx'}},
{'$sort': {'total': -1}},
{'$limit': 2000}])
Run Code Online (Sandbox Code Playgroud)
哪一切都很好($match在索引等).现在,有一个流氓quxx,我想过滤掉管道,所以我想我会使用$ne运算符.但是,我似乎无法找到正确的方法!我不确定我是不是把它放在正确的位置(我希望它在$match运算符之后但是在$group运算符之前)或者我的语法错误但是帮助将不胜感激.
到目前为止我尝试过的事情(一切都在他们自己的步骤之后$match)是:
{'$quxx': {'$ne': 'rogue'}}
{'quxx': {'$ne': 'rogue'}}
{'$ne': {'quxx': 'rogue'}}
{'$ne': {'$quxx': 'rogue'}}
Run Code Online (Sandbox Code Playgroud)
他们中的每一个都给了我unrecognized pipeline op.
Joh*_*yHK 13
您可以将其放在自己的$match管道元素中,也可以将其包含在初始元素中$match.
所以要么添加:
{'$match': {'quxx': {'$ne': 'rogue'}}}
Run Code Online (Sandbox Code Playgroud)
或将初始修改$match为:
{'$match': {'foo': 3, 'bar': 'baz', 'quxx': {'$ne': 'rogue'}}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7415 次 |
| 最近记录: |