Vous recherchez NOT (A AND C)
, qui équivaut à NOT A OR NOT C
:
db.collection.find({
"$or": [
{"institution_type": {"$ne": "A"}},
{"type": {"$ne": "C"}}
]
})
MongoDB a également un $nor opérateur logique qui "effectue une opération NOR logique sur un tableau d'une ou plusieurs expressions de requête et sélectionne les documents qui échouent à toutes les expressions de requête du tableau", donc une requête équivalente serait :
db.collection.find({
"$nor": [
{"institution_type": "A"},
{"type": "C"}
]
})
La réponse acceptée recommande d'utiliser un $where
opérateur, mais cela est inutile ici et pénalise les performances.