Lorsque des requêtes sont effectuées sur mongodb, comment son curseur gère-t-il le jeu de résultats en mémoire? Est-ce que le curseur récupère tous les documents qui correspondent à la requête, à la fois? ou récupère-t-il 1 document à la fois? ou sont-ils tamponnés? ou y a-t-il une solution différente que je ne connais pas?Comment est-ce que le Curseur de Curseur PHP MongoDB un ensemble de résultats?
Si elle est une solution tamponnée, comment sont-ils stockés sur le serveur/client? Combien de données le client garde-t-il localement?
Mémoire - quelle mémoire, serveur ou client? Un curseur ne récupère jamais les documents, c'est un curseur. Buffered - encore où? Sur le client ou le serveur? Ou êtes-vous seulement intéressé par le client à partir de PHP? – hakre
Les deux, vraiment. J'imagine que le serveur doit stocker le résultat quelque part. Et, peut-être que je suis confus quant au travail du curseur - mais le curseur agit comme ma "passerelle" vers les données, donc il doit l'obtenir de quelque part, et quelque part doit le stocker. J'essaie juste d'apprendre/comprendre où les données sont stockées et comment il est accédé/tamponné par le client PHP. –
Un curseur permet au client de naviguer dans le jeu de résultats disponible sur le serveur. Donc vous interrogez 500 documents, le serveur n'a qu'à dire, ici le curseur. le client dit merci et utilise ensuite les curseurs pour naviguer vers quelque part dans cet ensemble. Puis le client dit: Donnez-moi le document à l'endroit où le curseur pointe. Le serveur dit: bien je connais ce curseur, donc je peux vous donner un document. Au moins c'est comme ça que je comprends un curseur. Le curseur lui-même ne va jamais mais est utilisé dans la communication entre le client et le serveur. – hakre