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

MongoDB:Защо трябва да затваряме курсора, след като е използван?

Затварянето на курсора е наистина необходимо само когато не "изчерпвате" резултатите. Или с други думи, повторете всички възможни резултати, върнати от курсора.

Оставянето на "курсор" отворен е като оставяне на отворена връзка, която никога не се използва повторно. Тези неща не са безплатни. Всъщност стандартната цена на връзката е 1MB (приблизително). Така че, ако оставяте много "частично итерирани" курсори да висят наоколо, има общи разходи по отношение на активна връзка и нейното използване на паметта.

Ако всъщност винаги итерирате „всички“ резултати (и това включва „лимит“, който е „модификатор на курсора“), тогава курсорът ще се затвори и всичко е наред.

Общата употреба ще бъде, че всъщност изчерпвате/изчерпвате курсора, като преминавате през всички резултати. Следователно няма изрична необходимост от унищожаване.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Актуализирането на записи в MongoDB чрез pymongo води до изтриване на повечето от тях

  2. TypeError при /accounts/login/ id трябва да бъде екземпляр на (str, unicode, ObjectId), а не <type 'int'>

  3. Как да използвате събитията, пазете логиката на mongodb извън манипулаторите на заявки node.js

  4. Актуализирайте/изтрийте поддокумент в mongodb с помощта на C# драйвер

  5. в React извиквам два списъка към страница от mongo и искам да щракна върху единия, за да филтрирам това, което се показва в другия