U zoekt NOT (A AND C)
, wat gelijk is aan NOT A OR NOT C
:
db.collection.find({
"$or": [
{"institution_type": {"$ne": "A"}},
{"type": {"$ne": "C"}}
]
})
MongoDB heeft ook een $nor logische operator die "een logische NOR-bewerking uitvoert op een array van een of meer query-expressies en de documenten selecteert die niet voldoen aan alle query-expressies in de array", dus een equivalente query zou zijn:
db.collection.find({
"$nor": [
{"institution_type": "A"},
{"type": "C"}
]
})
Het geaccepteerde antwoord raadt aan om een $where
. te gebruiken operator, maar dat is hier niet nodig en belast de prestaties.