cursor.addOption()

On this page本页内容

Definition定义

cursor.addOption(flag)
Important重要
mongosh Method

This is a mongosh method. This is not the documentation for Node.js or other programming language specific driver methods.

In most cases, mongosh methods work the same way as the legacy mongo shell methods. However, some legacy methods are unavailable in mongosh.

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自3.2版以来已弃用

Starting in v3.2, the cursor.addOption() operator is deprecated in mongo. 从v3.2开始,mongo中不推荐使用cursor.addOption()运算符。Use available cursor methods instead.请改用可用的游标方法

Used to change query behavior by setting the flags listed below.用于通过设置下面列出的标志来更改查询行为。

The cursor.addOption() method has the following parameter:cursor.addOption()方法具有以下参数:

Parameter参数Type类型Description描述
flagflagFor mongosh, you can use the cursor flags listed below. 对于mongosh,可以使用下面列出的游标标志。For the driver-specific list, see your driver documentation.有关特定于驱动程序的列表,请参阅驱动程序文档

Flags旗帜

mongosh provides several additional cursor flags to modify the behavior of the cursor.提供了几个附加的游标标志来修改游标的行为。

FlagDescription描述
DBQuery.Option.tailable
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.将游标设置为在收到最后一个数据后不关闭,从而允许查询继续返回初始结果用完后添加的数据。
DBQuery.Option.slaveOk
Allows querying of a replica secondary.允许查询副本辅助服务器。
DBQuery.Option.noTimeout
Prevents the server from timing out idle cursors.防止服务器使空闲游标超时。
DBQuery.Option.awaitData
For use with .. data:: DBQuery.Option.tailable; sets the cursor to block and await data for a while rather than returning no data. 用于..data::DBQueryOptiontailable;将游标设置为阻塞并等待数据一段时间,而不是不返回任何数据。The cursor will return no data once the timeout has expired.一旦超时过期,游标将不返回任何数据。
DBQuery.Option.exhaust
Sets the cursor to return all data returned by the query at once rather than splitting the results into batches.将游标设置为一次返回查询返回的所有数据,而不是将结果拆分为多个批次。
DBQuery.Option.partial
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. 以下示例添加DBQuery.Option.tailable标志和DBQuery.Option.awaitData标志,以确保查询返回可跟踪游标。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.添加不正确的连线协议标志可能会导致问题和/或额外的服务器负载。

←  Cursor Methodscursor.allowDiskUse() →