The documentation for the node-mongo-native collection.find()
function says that it creates a cursor object which lazily returns the matching documents. Furthermore:
The basic operation on a cursor is the
nextObject
method that fetches the next matching document from the database. The convenience methodseach
andtoArray
callnextObject
until the cursor is exhausted.
Unfortunately, the documentation provides no indication of how to tell when the cursor is actually exhausted. You could use the "toArray" method and use the standard array interface (e.g. the "length" method) but this solution is inappropriate for streaming large amounts of data. The MongoDB API Wiki refers to the cursor.hasNext()
in the mongo shell but this method does not seem to be available in the node.js driver.
How can you determine when the cursor is exhausted when streaming data from MongoDB in node.js?