MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB използва НЕ и И заедно

Търсите NOT (A AND C) , което е еквивалентно на NOT A OR NOT C :

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

MongoDB също има $nor логически оператор, който "извършва логическа NOR операция върху масив от един или повече изрази на заявка и избира документите, които не отговарят на всички изрази на заявка в масива", така че еквивалентна заявка би била:

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

Приетият отговор препоръчва използването на $where оператор, но това е ненужно тук и облага с данъци ефективността.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Съвпадение с подниз в агрегирането на mongodb

  2. Проверете дали полето съществува в поддокумент на масив

  3. Какво може да се направи с Mongo Aggregation / Изпълнение на Mongo Aggregation

  4. Възелът не се свързва с Mongo повече от веднъж

  5. Как мога да използвам Python за трансформиране на bsondump на MongoDB в JSON?