ブール演算を使用した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}])
これはすべてうまく機能します($match
インデックスなどにあります)。現在、パイプラインから除外したい不正な quxx が 1 つあるため、この$ne
演算子を使用することにしました。しかし、私はそれを行う適切な方法を理解できないようです! 正しい位置に配置していないか (演算子の後、$match
演算子の前に配置したい$group
)、または構文が間違っているかどうかはわかりませんが、助けていただければ幸いです。
私がこれまでに試したこと(すべての後の独自のステップで$match
)は次のとおりです。
{'$quxx': {'$ne': 'rogue'}}
{'quxx': {'$ne': 'rogue'}}
{'$ne': {'quxx': 'rogue'}}
{'$ne': {'$quxx': 'rogue'}}
それらのすべてが私に与えますunrecognized pipeline op
。