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

Mongo $in със съставен индекс

Тъй като вече създавате съставен индекс за (a, b) , всички ваши изрази на клаузи се поддържат от индекси -> mongo ще използва сканиране на индекс вместо сканиране на колекция. Вероятно е достатъчно бързо.

Справка:$or клаузи и индекси

Сега относно вашия въпрос

$in съпоставете цялото поле. Ако искате да съвпаднете с (a,b) тогава очевидно (a,b) трябва да стане вграден обект за търсене с $in .

Не съм сигурен дали създаването на вграден обект отговаря на текущата ви схема/изискване. Но ако случаят е такъв, $in е известен с по-добра производителност в сравнение с $or :

В този случай, ако имате вграден обект като:{e: {a: 'x', b: 'y'}} след това db.collections.createIndex({e: 1}) съчетано с $in ще ускори нещата




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Collection runCommand от PHP

  2. MongoDB заявка за всички шардирани колекции без shardkey

  3. Показване на MongoDB документи с HTML

  4. Как да заявя само документи с най-новото времево клеймо от група?

  5. mongodb как да правите заявки с оператор nand?