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

Mongo $in ze złożonym indeksem

Ponieważ już utworzyłeś indeks złożony dla (a, b) , wszystkie twoje wyrażenia klauzul są obsługiwane przez indeksy -> mongo użyje skanowania indeksów zamiast skanowania kolekcji. Prawdopodobnie wystarczająco szybko.

Odniesienie:klauzule i indeksy $or

Teraz o twoim pytaniu

$in dopasuj całe pole. Jeśli chcesz dopasować (a,b) to oczywiście (a,b) musi stać się obiektem osadzonym, aby wyszukiwać za pomocą $in .

Nie jestem pewien, czy tworzenie osadzonego obiektu pasuje do Twojego obecnego schematu/wymagania. Ale jeśli tak jest, $in znany z lepszej wydajności w porównaniu do $or :

W tym przypadku, jeśli masz osadzony obiekt, taki jak:{e: {a: 'x', b: 'y'}} następnie db.collections.createIndex({e: 1}) w połączeniu z $in przyspieszy działanie




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pobierz najnowszy dokument podrzędny z Array

  2. Jak uruchomić zapytanie wyjaśniające ze sterownikiem Mongo 2.4 C#?

  3. tworzenie grup i analizowanie danych z listy tablic w birt

  4. Jak dodać porządekza pomocą @query w repozytorium mongodb

  5. Przegląd raportowania operacyjnego bazy danych w ClusterControl