sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB bruger NOT og AND sammen

Du leder efter NOT (A AND C) , hvilket svarer til NOT A OR NOT C :

db.collection.find({
  "$or": [
    {"institution_type": {"$ne": "A"}},
    {"type": {"$ne": "C"}}
  ]
})

MongoDB har også en $nor logisk operator, der "udfører en logisk NOR-operation på et array af et eller flere forespørgselsudtryk og vælger de dokumenter, der fejler alle forespørgselsudtrykkene i arrayet", så en tilsvarende forespørgsel ville være:

db.collection.find({
  "$nor": [
    {"institution_type": "A"},
    {"type": "C"}
  ]
})

Det accepterede svar anbefaler at bruge en $where operatør, men det er unødvendigt her og beskatter ydeevnen.



  1. Vil du inkludere et felt (_id eller andet) i mongodb-projektsammenlægning?

  2. Sådan forbinder du Laravel-webstedet med mongoDB-atlas

  3. MongoDB:Geospatial Index-array er ikke i korrekt format

  4. Notifikations- og nyhedsområde ved at bruge Redis