MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :Pourquoi fermer le curseur après son utilisation ?

La fermeture du curseur n'est vraiment nécessaire que lorsque vous n'"épuisez" pas les résultats. Ou en d'autres termes, itérer sur tous les résultats possibles renvoyés par le curseur.

Laisser un "curseur" ouvert revient à laisser une connexion ouverte qui ne sera jamais réutilisée. Ces choses ne sont pas gratuites. En fait, le coût de connexion standard est de 1 Mo (environ). Donc, si vous laissez traîner beaucoup de curseurs "partiellement itérés", il y a une surcharge générale en termes de connexion active et d'utilisation de la mémoire.

Si, en fait, vous parcourez toujours "tous" les résultats (et cela inclut une "limite" qui est un "modificateur de curseur"), le curseur se fermera et tout ira bien.

L'utilisation générale consistera à épuiser/épuiser le curseur en parcourant tous les résultats. Il n'y a donc aucun besoin explicite de détruire.