$ not演算子は、複雑な式を反転しません。複雑な式には、$andまたは$orを使用する必要があります。
論理ルールを使用すると、次のことが同じであることがわかります。
not ( A and B ) = not A or not B
MongoDBクエリ言語を使用すると、次のようになります。
db.collection.find({$or:[{"a":{"$ne":false}},{"b":{"$ne":"condition"}}]})
OR simplifying the double boolean:
db.collection.find({$or:[{"a":true},{"b":{"$ne":"condition"}}]})
MongoDB集約フレームワークを使用すると、次のようになります。
db.collection.aggregate([{"$match":{$or:[{"a":{"$ne":false}},{"b":{"$ne":"condition"}}]}}])
OR again, simplified to:
db.collection.aggregate([{"$match":{$or:[{"a":true},{"b":{"$ne":"condition"}}]}}])