sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB använder NOT och AND tillsammans

Du letar efter NOT (A AND C) , vilket motsvarar NOT A OR NOT C :

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

MongoDB har också en $nor logisk operator som "utför en logisk NOR-operation på en array med ett eller flera frågeuttryck och väljer de dokument som misslyckas med alla frågeuttryck i arrayen", så en motsvarande fråga skulle vara:

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

Det godkända svaret rekommenderar att du använder en $where operatör, men det är onödigt här och beskattar prestanda.



  1. Minska ett fält med typnummer i mongodb och nodejs

  2. Begränsa och sortera inline Map/Reduce i MongoDB

  3. Docker compose spring boot redis anslutningsproblem

  4. Hur man lagrar Date-fältet som ISODate() med jackson i MongoDb