La documentation relative à la node-mongo-native collection.find()
fonction indique qu'il crée un objet curseur qui renvoie paresseusement les documents correspondants. En outre :
L'opération de base sur un curseur est le
nextObject
qui récupère le document correspondant suivant dans la base de données. Les méthodes de commoditéeach
ytoArray
appeleznextObject
jusqu'à ce que le curseur soit épuisé.
Malheureusement, la documentation ne fournit aucune indication sur la manière de savoir quand le curseur est réellement épuisé. Vous pourriez utiliser la méthode "toArray" et utiliser l'interface standard des tableaux (par exemple, la méthode "length"), mais cette solution est inappropriée pour le streaming de grandes quantités de données. Le Wiki de l'API MongoDB fait référence à la méthode cursor.hasNext()
dans le shell mongo mais cette méthode ne semble pas être disponible dans le pilote node.js.
Comment déterminer quand le curseur est épuisé lors du streaming de données depuis MongoDB en node.js ?