Toán tử $ not không đảo ngược một biểu thức phức tạp. Bạn cần sử dụng $ và hoặc $ hoặc cho các biểu thức phức tạp.
Sử dụng các quy tắc logic, chúng tôi biết rằng những điều sau đây giống hệt nhau:
not ( A and B ) = not A or not B
Sử dụng ngôn ngữ truy vấn MongoDB, bạn sẽ có:
db.collection.find({$or:[{"a":{"$ne":false}},{"b":{"$ne":"condition"}}]})
OR simplifying the double boolean:
db.collection.find({$or:[{"a":true},{"b":{"$ne":"condition"}}]})
Sử dụng khung tổng hợp MongoDB, bạn sẽ có:
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"}}]}}])