Docs Menu

Docs HomeMongoDB Manual

cursor.isExhausted()

On this page

  • Behavior
  • Examples
cursor.isExhausted()

Important

mongo Shell Method

This page documents the mongo shell method, and does not refer to the MongoDB Node.js driver (or any other driver) method. For corresponding MongoDB driver API, refer to your specific MongoDB driver documentation instead.

Returns:Boolean

cursor.isExhausted() returns false if documents remain in the current document batch read by the cursor. Otherwise, returns true.

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:

For a change stream example, see Watch 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().

1

Run:

db.sensor.insertMany( [
{ _id: 0, temperature: 12 },
{ _id: 1, temperature: 23 }
] )
2

Create a cursor variable named sensorCursor that reads the documents from the sensor collection:

var sensorCursor = db.sensor.find()
3

Run:

sensorCursor.count()

The output is 2 because there are two documents in the collection.

4

Run:

sensorCursor.next()

Output:

{ _id: 0, temperature: 12 }
5

Run:

sensorCursor.isExhausted()

The output is false because there is a remaining document in sensorCursor.

6

Run:

sensorCursor.next()

Output:

{ _id: 1, temperature: 23 }
7

Run:

sensorCursor.next()

There are no more documents and the example returns null.

8

Run:

sensorCursor.isExhausted()

There are no more documents and isExhausted() returns true.

←  cursor.hint()cursor.itcount() →

On this page