sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB :Hvorfor skal vi lukke markøren efter den er brugt?

Det er kun nødvendigt at lukke markøren, når du ikke "udtømmer" resultaterne. Eller med andre ord, gentag alle de mulige resultater, der returneres af markøren.

At efterlade en "markør" åben er som at efterlade en åben forbindelse, der aldrig bliver genbrugt. Disse ting er ikke gratis. Faktisk er standardforbindelsesomkostningerne 1 MB (ca.). Så hvis du lader en masse "delvist itererede" markører hænge rundt, er der en generel overhead i form af en aktiv forbindelse og det er hukommelsesbrug.

Hvis du faktisk altid gentager "alle" resultaterne (og det inkluderer en "grænse", som er en "markørmodifikator"), så lukker markøren, og alt er i orden.

Generel brug vil være, at du rent faktisk udtømmer/tømmer markøren ved at gennemgå alle resultaterne. Derfor er der ikke noget eksplicit behov for at ødelægge.



  1. Brug af UUID'er i stedet for ObjectID'er i MongoDB

  2. Forbind og forespørg Mongo-database over SSH med privat nøgle i Python

  3. Mongoose opdaterer ikke mit dokument, hvis jeg ikke har nogen tilbagekaldsfunktion

  4. Hvordan kan jeg bruge 'Not Like' operator i MongoDB