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

Mongodb :$in оператор срещу много единични заявки

Определено ще използвам заявката $in и предоставям масив от _ids.

Пример:

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

Защо?

  • Ако зациклите, има определено количество настройка и демонтаж за всяка заявка, създаваща и изтощаващи курсори, което би довело до допълнителни разходи.
  • Ако не правите това на локална машина, това също създава tcp/ip допълнителни разходи за всяка заявка. Локално можете да използвате домейн сокети.
  • Има индекс за „_id“, създаден по подразбиране и събирането на група документи за връщане в пакетна заявка трябва да бъде изключително бързо, така че няма нужда да го разделяте на по-малки заявки.

Тук има допълнителна документация, ако искате да я проверите.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose find() RegExp за полето тип номер

  2. Как да изтриете много колекции mongodb наведнъж?

  3. Грешка при свързване с Mongodb вътре в контейнера за докер

  4. Групиране по специфичен елемент от масив с рамка за агрегиране mongo

  5. mongo.so:> недефиниран символ:php_json_encode в Unknown на ред 0. След инсталиране mongo драйвер за php