cursor.addOption()
On this page
Definition
cursor.addOption(flag)
Important
mongosh Method
This is a
mongosh
method. This is not the documentation forNode.js
or other programming language specific driver methods.In most cases,
mongosh
methods work the same way as the legacymongo
shell methods. However, some legacy methods are unavailable inmongosh
.For the legacy
mongo
shell documentation, refer to the documentation for the corresponding MongoDB Server release: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:ParameterTypeDescriptionflag
flagFormongosh
, you can use the cursor flags listed below. For the driver-specific list, see your driver documentation.
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 .. data:: DBQuery.Option.tailable; sets the cursor
to block and await data for a while rather than returning no
data. The cursor will return no data once the timeout has
expired. | |
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 that will wait for few
seconds after returning the full result set 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.