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

Mongodb :operator $in vs wiele pojedynczych zapytań

Zdecydowanie skorzystałbym z zapytania $in i dostarczenia tablicy identyfikatorów _id.

Przykład:

db.collection.find({
    "key": {
        "$in": [
            ObjectId("xxx"),
            ObjectId("yyy"),
            ObjectId("zzz")
        ]
    }
})

Dlaczego?

  • Jeśli wykonujesz pętlę, istnieje pewna ilość konfiguracji i usuwania dla każdego zapytania, tworzącego i wyczerpującego kursory, które generowałyby obciążenie.
  • Jeżeli nie robisz tego na komputerze lokalnym, dla każdego żądania tworzy się również obciążenie tcp/ip. Lokalnie możesz użyć gniazd domeny.
  • Istnieje indeks na „_id” tworzony domyślnie i zbieranie grupy dokumentów do zwrócenia w żądaniu wsadowym powinno być niezwykle szybkie, więc nie ma potrzeby dzielenia tego na mniejsze zapytania.

Istnieje dodatkowa dokumentacja, jeśli chcesz to sprawdzić.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przewodnik po zapytaniach w Spring Data MongoDB

  2. Dlaczego mongoose używa schematu, kiedy zaletą mongodb jest to, że jest pozbawiony schematu?

  3. Jak mogę stwierdzić, gdzie mongoDB przechowuje dane? (nie jest w domyślnym /data/db!)

  4. Nie znaleziono katalogu danych MongoDB /data/db

  5. Obejście MongoDB dla dokumentu o rozmiarze większym niż 16 MB?