Definition
cursor.addOption(flag)
-
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-specific MongoDB driver documentation.
Note
Deprecated since v3.2
Starting in v3.2, the
cursor.addOption()
operator is deprecated inmongo
. Use available cursor methods instead.Used to change query behavior by setting the flags listed below.
The
cursor.addOption()
method has the following parameter:Parameter Type Description flag
flag
For
mongosh
, you can use the cursor flags listed below. For the driver-specific list, see your driver documentation.
Compatibility
This method is available in deployments hosted in the following environments:
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Important
This command has limited support in all MongoDB Atlas clusters. For more information, see Unsupported 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
Flags
mongosh
provides several additional cursor flags to modify the behavior of the cursor.
Flag | Description |
---|---|
Sets the cursor not to close once the last data is received, allowing the query to continue returning data added after the initial results were exhausted. | |
Allows querying of a replica secondary. | |
Prevents the server from timing out idle cursors. | |
For use with | |
Sets the cursor to return all data returned by the query at once rather than splitting the results into batches. | |
Sets the cursor to return partial data from a query against a sharded cluster in which some shards do not respond rather than throwing an error. |
Example
The following example adds the DBQuery.Option.tailable
flag and the DBQuery.Option.awaitData
flag to ensure that the query returns a tailable cursor. The sequence creates a cursor. After returning the full result set, it waits for the default interval of 1000 milliseconds so that it can capture and return additional data added during the query:
var t = db.myCappedCollection;
var cursor = t.find().addOption(DBQuery.Option.tailable).
addOption(DBQuery.Option.awaitData)
Warning
Adding incorrect wire protocol flags can cause problems and/or extra server load.