cursor.isExhausted() (original) (raw)
cursor.isExhausted()
Important
mongosh Method
This page documents a mongosh method. This is _not_the documentation for a language-specific driver, such as Node.js.
For MongoDB API drivers, refer to the language-specificMongoDB driver documentation.
Returns: | Boolean |
---|
cursor.isExhausted() returns false
if documents remain in the current document batch read by the cursor. Otherwise, returns true
.
This method is available in deployments hosted in the following environments:
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Note
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, seeUnsupported Commands.
- MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
- MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB
You can use isExhausted()
with a tailable cursor. A tailable cursor stays open even if no documents remain in the current batch. Other cursors are automatically closed when no documents remain.
You cannot use isExhausted()
with change streams. Instead, to examine if:
- documents remain in a change stream cursor, usecursor.tryNext().
- a change stream cursor is closed, use cursor.isClosed().
For change stream examples, see Watch Exampleand Change Stream Images Example.
This section contains examples that use a cursor to read documents from a collection with temperature readings from a weather sensor. You'll see examples of isExhausted()
.
Run:
db.sensor.insertMany( [
{ _id: 0, temperature: 12 },
{ _id: 1, temperature: 23 }
] )
Create a cursor variable named sensorCursor
that reads the documents from the sensor
collection:
var sensorCursor = db.sensor.find()
Run:
The output is 2
because there are two documents in the collection.
Run:
Output:
{ _id: 0, temperature: 12 }
Run:
sensorCursor.isExhausted()
The output is false
because there is a remaining document in sensorCursor
.
Run:
Output:
{ _id: 1, temperature: 23 }
Run:
There are no more documents and the example returns null
.
Run:
sensorCursor.isExhausted()
There are no more documents and isExhausted()
returnstrue
.