On this page
cursor.addOption()
在本页面
Definition
cursor.
addOption
(* flag *)
Note
从 v3.2 开始在
mongo
Shell 中弃用从 v3.2 开始,cursor.addOption()运算符在mongo shell 中已弃用。在mongoShell 程序中,改用可用的cursor methods。
添加OP_QUERY
有线协议标志,例如tailable
标志,以更改查询的行为。
cursor.addOption()方法具有以下参数:
Parameter | Type | Description |
---|---|---|
flag |
flag | OP_QUERY 有线协议标志。对于mongo shell,可以使用下面列出的光标标志。有关特定于驱动程序的列表,请参见driver documentation。 |
Flags
mongo shell 提供了几个其他的游标标志来修改游标的行为。
Flag | Description |
---|---|
DBQuery.Option. tailable |
设置光标在接收到最后一个数据后不关闭,从而允许查询 continue 返回在耗尽初始结果之后添加的数据。 |
DBQuery.Option. slaveOk |
允许查询副本从属。 |
DBQuery.Option. noTimeout |
防止服务器超时空闲游标。 |
DBQuery.Option. awaitData |
适用于..数据:DBQuery.Option.tailable;将光标设置为阻塞并 await 一段时间,而不返回任何数据。一旦超时到期,光标将不返回任何数据。 |
DBQuery.Option. exhaust |
设置游标以一次返回查询返回的所有数据,而不是将结果分成批次。 |
DBQuery.Option. partial |
设置游标以针对某个分片群集从查询中返回部分数据,在分片群集中,某些分片不响应而是抛出错误。 |
Example
下面的示例添加DBQuery.Option.tailable
标志和DBQuery.Option.awaitData
标志以确保查询返回tailable cursor。该序列创建一个游标,该游标将在返回完整的结果集后 await 几秒钟,以便它可以捕获并返回在查询期间添加的其他数据:
var t = db.myCappedCollection;
var cursor = t.find().addOption(DBQuery.Option.tailable).
addOption(DBQuery.Option.awaitData)
Warning
添加不正确的有线协议标志可能会导致问题和/或增加服务器负载。