你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

FeedOptions interface

源选项和查询方法。

Extends

属性

accessCondition

与请求关联的条件。

bufferItems

在查询期间启用缓冲其他项。 默认值:false

这会一次缓冲一个额外的页面, (乘以来自后台服务器的 maxDegreeOfParallelism) 。 这可以通过在客户端需要页面之前提取页面来改善延迟。 如果要耗尽服务器的所有结果,例如 .fetchAll,通常应启用此功能。 如果通过延续令牌一次只提取一页,则应避免这种情况。 如果要清空多个页面,但不是整个结果集,它可能有助于改善延迟,但会增加 RU/秒用于整个查询 (的总使用量,因为某些页面将) 提取多次。

continuation

用于继续枚举的不透明标记。 默认值:未定义

continuationToken

用于继续枚举的不透明标记。 默认值:未定义

continuationTokenLimitInKB

限制响应中延续标记的大小。 默认值:未定义

延续标记包含可选数据,在将其写出到标头之前,可以从序列化中删除这些数据。 默认情况下,我们将此限制为 1kb,以避免长标头 (Node.js 具有全局标头大小限制) 。 用户可以将此字段设置为允许更长的标头,这有助于后端优化查询执行。”

enableScanInQuery

在请求的路径上选择退出无法用作索引的查询的允许扫描。 默认值:false

一般情况下,最好避免使用此设置。 扫描成本相对较高,需要很长时间才能完成。

forceQueryPlan

此设置强制查询使用查询计划。 默认值:false

注意:这将禁用延续令牌支持,即使对于单分区查询也是如此。

对于聚合和大多数跨分区查询等查询,无论如何都会发生这种情况。 但是,由于库在返回第一个响应之前不知道查询的类型,因此某些优化要等到以后才能进行。

如果启用此设置,它将强制查询计划查询,这将保存一些网络请求并确保发生并行度。 当知道要执行跨分区或聚合查询时,非常有用。

maxDegreeOfParallelism

在 Azure Cosmos DB 数据库服务中并行执行查询期间运行客户端的并发操作的最大数目。 负值使系统自动决定要运行的并发操作数。 默认值:0 (无并行)

maxItemCount

枚举操作中要返回的最大项数。 默认值:未定义 (服务器将定义有效负载)

使用此值过期通常会导致查询的最大性能更改。

项计数越小, (非聚合) 传递第一个结果的速度就越快。 对于较大的数量,需要更长的时间才能处理请求,但对于大型查询 (通常可以获得更好的吞吐量,例如,如果需要 1000 个项目,然后才能执行任何其他操作(设置为 maxItemCount 1000)。如果可以在前 100 个之后开始执行工作,请将 设置为 maxItemCount 100.)

partitionKey

将查询限制为特定的分区键。 默认值:未定义

可通过两种方式将查询范围限定为单个分区:

container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray() container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()

如果查询正文无法控制,但仍希望将其限制为单个分区,前者非常有用。 示例:最终用户指定的查询。

populateIndexMetrics

在响应标头中启用返回索引指标。 默认值:false

populateQueryMetrics

在响应标头中启用返回查询指标。 默认值:false

用于调试速度缓慢或成本高昂的查询。 此外,增加响应大小,如果在 Node.js 中使用了较低的最大标头大小,则可能会更快地遇到问题。

useIncrementalFeed

注意:请考虑改用 changeFeed。

指示更改源请求。 必须设置为“增量源”,否则将被省略。 默认值:false

继承属性

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()
initialHeaders

向 Cosmos 发送请求时, (高级用例) 初始标头开头

maxIntegratedCacheStalenessInMs

设置与 Azure CosmosDB 服务中的请求关联的过期值。 对于 为 <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> 或 <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>的请求<xref:com.azure.cosmos.ConsistencyLevel>,集成缓存的响应保证不会超过此 maxIntegratedCacheStaleness 指示的值。 如果未设置一致性级别,则忽略此属性。

默认值为 null

支持缓存过期,粒度为毫秒。 将忽略小于毫秒的任何内容。

priorityLevel

每个请求的优先级 (低/高) 。 在任何高优先级请求之前,始终会限制低优先级请求。

默认值为 null。 默认情况下,所有请求的优先级都很高

sessionToken

启用/禁用获取文档容器读取请求的文档容器配额相关统计信息。

属性详细信息

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

继承自SharedOptions.abortSignal

initialHeaders

向 Cosmos 发送请求时, (高级用例) 初始标头开头

initialHeaders?: CosmosHeaders

属性值

继承自SharedOptions.initialHeaders

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

继承自SharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

每个请求的优先级 (低/高) 。 在任何高优先级请求之前,始终会限制低优先级请求。

默认值为 null。 默认情况下,所有请求的优先级都很高

priorityLevel?: PriorityLevel

属性值

继承自SharedOptions.priorityLevel

sessionToken

启用/禁用获取文档容器读取请求的文档容器配额相关统计信息。

sessionToken?: string

属性值

string

继承自SharedOptions.sessionToken