Navigation

cursor.tailable()

On this page

Definition

cursor.tailable()

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.

New in version 3.2.

Marks the cursor as tailable.

For use against a capped collection only. Using tailable against a non-capped collection will return an error.

cursor.tailable() uses the following syntax:

cursor.tailable( { awaitData : <boolean> } )

tailable() has the following parameter:

Parameter Type Description
awaitData boolean

Optional. When true, enables awaitData.

awaitData is false by default.

Returns:The cursor that tailable() is attached to.

Behavior

A tailable cursor performs a collection scan over a capped collection. It remains open even after reaching the end of the collection. Applications can continue to iterate the tailable cursor as new data is inserted into the collection.

If awaitData is set to true, when the cursor reaches the end of the capped collection, MongoDB blocks the query thread for a period of time waiting for new data to arrive. When new data is inserted into the capped collection, the blocked thread is signaled to wake up and return the next batch to the client.

See Tailable Cursors.