MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB używając NOT i AND razem

Szukasz NOT (A AND C) , który jest odpowiednikiem NOT A OR NOT C :

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

MongoDB ma również $nor operator logiczny, który „wykonuje logiczną operację NOR na tablicy jednego lub więcej wyrażeń zapytania i wybiera dokumenty, które nie spełniają wszystkich wyrażeń zapytania w tablicy”, więc równoważne zapytanie będzie wyglądało następująco:

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

Przyjęta odpowiedź zaleca użycie $where operatora, ale jest to tutaj niepotrzebne i opodatkowuje wydajność.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy mogę zmniejszyć tekst w mongodb?

  2. Różnica między count() i find().count() w MongoDB

  3. Filtruj elementy tablicy za pomocą $regex

  4. Operator Near dla punktu geojson zwracającego błąd, gdy w zapytaniu użyto maxdistance

  5. Usuwanie pojedynczego obiektu z tablicy obiektów w MongoDB