你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
FeedOptions interface
源选项和查询方法。
- Extends
属性
access |
与请求关联的条件。 |
buffer |
在查询期间启用缓冲其他项。 默认值:false 这会一次缓冲一个额外的页面, (乘以来自后台服务器的 maxDegreeOfParallelism) 。
这可以通过在客户端需要页面之前提取页面来改善延迟。 如果要耗尽服务器的所有结果,例如 |
continuation | 用于继续枚举的不透明标记。 默认值:未定义 |
continuation |
用于继续枚举的不透明标记。 默认值:未定义 |
continuation |
限制响应中延续标记的大小。 默认值:未定义 延续标记包含可选数据,在将其写出到标头之前,可以从序列化中删除这些数据。 默认情况下,我们将此限制为 1kb,以避免长标头 (Node.js 具有全局标头大小限制) 。 用户可以将此字段设置为允许更长的标头,这有助于后端优化查询执行。” |
enable |
在请求的路径上选择退出无法用作索引的查询的允许扫描。 默认值:false 一般情况下,最好避免使用此设置。 扫描成本相对较高,需要很长时间才能完成。 |
force |
此设置强制查询使用查询计划。 默认值:false 注意:这将禁用延续令牌支持,即使对于单分区查询也是如此。 对于聚合和大多数跨分区查询等查询,无论如何都会发生这种情况。 但是,由于库在返回第一个响应之前不知道查询的类型,因此某些优化要等到以后才能进行。 如果启用此设置,它将强制查询计划查询,这将保存一些网络请求并确保发生并行度。 当知道要执行跨分区或聚合查询时,非常有用。 |
max |
在 Azure Cosmos DB 数据库服务中并行执行查询期间运行客户端的并发操作的最大数目。 负值使系统自动决定要运行的并发操作数。 默认值:0 (无并行) |
max |
枚举操作中要返回的最大项数。 默认值:未定义 (服务器将定义有效负载) 使用此值过期通常会导致查询的最大性能更改。 项计数越小, (非聚合) 传递第一个结果的速度就越快。 对于较大的数量,需要更长的时间才能处理请求,但对于大型查询 (通常可以获得更好的吞吐量,例如,如果需要 1000 个项目,然后才能执行任何其他操作(设置为 |
partition |
将查询限制为特定的分区键。 默认值:未定义 可通过两种方式将查询范围限定为单个分区:
如果查询正文无法控制,但仍希望将其限制为单个分区,前者非常有用。 示例:最终用户指定的查询。 |
populate |
在响应标头中启用返回索引指标。 默认值:false |
populate |
在响应标头中启用返回查询指标。 默认值:false 用于调试速度缓慢或成本高昂的查询。 此外,增加响应大小,如果在 Node.js 中使用了较低的最大标头大小,则可能会更快地遇到问题。 |
use |
注意:请考虑改用 changeFeed。 指示更改源请求。 必须设置为“增量源”,否则将被省略。 默认值:false |
继承属性
abort |
abortSignal 以传递给此方法调用创建的所有基础网络请求。 请参见https://developer.mozilla.org/en-US/docs/Web/API/AbortController 示例 取消读取请求
|
initial |
向 Cosmos 发送请求时, (高级用例) 初始标头开头 |
max |
设置与 Azure CosmosDB 服务中的请求关联的过期值。 对于 为 <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> 或 <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>的请求<xref:com.azure.cosmos.ConsistencyLevel>,集成缓存的响应保证不会超过此 maxIntegratedCacheStaleness 指示的值。 如果未设置一致性级别,则忽略此属性。 默认值为 null 支持缓存过期,粒度为毫秒。 将忽略小于毫秒的任何内容。 |
priority |
每个请求的优先级 (低/高) 。 在任何高优先级请求之前,始终会限制低优先级请求。 默认值为 null。 默认情况下,所有请求的优先级都很高 |
session |
启用/禁用获取文档容器读取请求的文档容器配额相关统计信息。 |
属性详细信息
accessCondition
与请求关联的条件。
accessCondition?: { condition: string, type: string }
属性值
{ condition: string, type: string }
bufferItems
在查询期间启用缓冲其他项。 默认值:false
这会一次缓冲一个额外的页面, (乘以来自后台服务器的 maxDegreeOfParallelism) 。
这可以通过在客户端需要页面之前提取页面来改善延迟。 如果要耗尽服务器的所有结果,例如 .fetchAll
,通常应启用此功能。 如果通过延续令牌一次只提取一页,则应避免这种情况。 如果要清空多个页面,但不是整个结果集,它可能有助于改善延迟,但会增加 RU/秒用于整个查询 (的总使用量,因为某些页面将) 提取多次。
bufferItems?: boolean
属性值
boolean
continuation
警告
现已弃用此 API。
Use continuationToken instead.
用于继续枚举的不透明标记。 默认值:未定义
continuation?: string
属性值
string
continuationToken
用于继续枚举的不透明标记。 默认值:未定义
continuationToken?: string
属性值
string
continuationTokenLimitInKB
限制响应中延续标记的大小。 默认值:未定义
延续标记包含可选数据,在将其写出到标头之前,可以从序列化中删除这些数据。 默认情况下,我们将此限制为 1kb,以避免长标头 (Node.js 具有全局标头大小限制) 。 用户可以将此字段设置为允许更长的标头,这有助于后端优化查询执行。”
continuationTokenLimitInKB?: number
属性值
number
enableScanInQuery
在请求的路径上选择退出无法用作索引的查询的允许扫描。 默认值:false
一般情况下,最好避免使用此设置。 扫描成本相对较高,需要很长时间才能完成。
enableScanInQuery?: boolean
属性值
boolean
forceQueryPlan
此设置强制查询使用查询计划。 默认值:false
注意:这将禁用延续令牌支持,即使对于单分区查询也是如此。
对于聚合和大多数跨分区查询等查询,无论如何都会发生这种情况。 但是,由于库在返回第一个响应之前不知道查询的类型,因此某些优化要等到以后才能进行。
如果启用此设置,它将强制查询计划查询,这将保存一些网络请求并确保发生并行度。 当知道要执行跨分区或聚合查询时,非常有用。
forceQueryPlan?: boolean
属性值
boolean
maxDegreeOfParallelism
在 Azure Cosmos DB 数据库服务中并行执行查询期间运行客户端的并发操作的最大数目。 负值使系统自动决定要运行的并发操作数。 默认值:0 (无并行)
maxDegreeOfParallelism?: number
属性值
number
maxItemCount
枚举操作中要返回的最大项数。 默认值:未定义 (服务器将定义有效负载)
使用此值过期通常会导致查询的最大性能更改。
项计数越小, (非聚合) 传递第一个结果的速度就越快。 对于较大的数量,需要更长的时间才能处理请求,但对于大型查询 (通常可以获得更好的吞吐量,例如,如果需要 1000 个项目,然后才能执行任何其他操作(设置为 maxItemCount
1000)。如果可以在前 100 个之后开始执行工作,请将 设置为 maxItemCount
100.)
maxItemCount?: number
属性值
number
partitionKey
将查询限制为特定的分区键。 默认值:未定义
可通过两种方式将查询范围限定为单个分区:
container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray()
container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()
如果查询正文无法控制,但仍希望将其限制为单个分区,前者非常有用。 示例:最终用户指定的查询。
partitionKey?: PartitionKey
属性值
populateIndexMetrics
在响应标头中启用返回索引指标。 默认值:false
populateIndexMetrics?: boolean
属性值
boolean
populateQueryMetrics
在响应标头中启用返回查询指标。 默认值:false
用于调试速度缓慢或成本高昂的查询。 此外,增加响应大小,如果在 Node.js 中使用了较低的最大标头大小,则可能会更快地遇到问题。
populateQueryMetrics?: boolean
属性值
boolean
useIncrementalFeed
注意:请考虑改用 changeFeed。
指示更改源请求。 必须设置为“增量源”,否则将被省略。 默认值:false
useIncrementalFeed?: boolean
属性值
boolean
继承属性详细信息
abortSignal
abortSignal 以传递给此方法调用创建的所有基础网络请求。 请参见https://developer.mozilla.org/en-US/docs/Web/API/AbortController
示例
取消读取请求
const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
abortSignal?: AbortSignal
属性值
AbortSignal
initialHeaders
向 Cosmos 发送请求时, (高级用例) 初始标头开头
initialHeaders?: CosmosHeaders
属性值
maxIntegratedCacheStalenessInMs
设置与 Azure CosmosDB 服务中的请求关联的过期值。 对于 为 <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> 或 <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>的请求<xref:com.azure.cosmos.ConsistencyLevel>,集成缓存的响应保证不会超过此 maxIntegratedCacheStaleness 指示的值。 如果未设置一致性级别,则忽略此属性。
默认值为 null
支持缓存过期,粒度为毫秒。 将忽略小于毫秒的任何内容。
maxIntegratedCacheStalenessInMs?: number
属性值
number
priorityLevel
每个请求的优先级 (低/高) 。 在任何高优先级请求之前,始终会限制低优先级请求。
默认值为 null。 默认情况下,所有请求的优先级都很高
priorityLevel?: PriorityLevel