Operator $not tidak membalikkan ekspresi kompleks. Anda perlu menggunakan $and atau $or untuk ekspresi kompleks.
Dengan menggunakan aturan logika, kita tahu bahwa berikut ini identik:
not ( A and B ) = not A or not B
Menggunakan bahasa kueri MongoDB, Anda akan memiliki:
db.collection.find({$or:[{"a":{"$ne":false}},{"b":{"$ne":"condition"}}]})
OR simplifying the double boolean:
db.collection.find({$or:[{"a":true},{"b":{"$ne":"condition"}}]})
Menggunakan kerangka kerja agregasi MongoDB, Anda akan memiliki:
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"}}]}}])