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

FeedOptions interface

源选项和查询方法。

扩展

属性

accessCondition

与请求关联的条件。

allowUnboundedNonStreamingQueries

仅按查询对非流式处理顺序有效。 默认值:false;设置为 true 时,它允许查询绕过阻止非流式处理查询的默认行为,而不使用最高子句或限制子句。

bufferItems

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

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

continuation

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

continuationToken

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

continuationTokenLimitInKB

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

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

disableNonStreamingOrderByQuery

在支持的查询功能中禁用 nonStreamingOrderBy 查询功能。 默认值:false。 设置为 true 以避免不支持此功能的旧网关出错。

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

vectorSearchBufferSize

指定用于存储 nonStreamingOrderBy 查询的最终结果的自定义最大缓冲区大小。 如果查询包含 top/offset+limit 子句,则忽略此值。

继承属性

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

设置是否应绕过或启用 Azure CosmosDB 服务中的请求的集成缓存。

默认值为 false。 默认情况下,已启用集成缓存

initialHeaders

(高级用例)将请求发送到 Cosmos 时要以初始标头开头

maxIntegratedCacheStalenessInMs

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

默认值为 null

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

priorityLevel

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

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

sessionToken

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

属性详细信息

accessCondition

与请求关联的条件。

accessCondition?: { condition: string, type: string }

属性值

{ condition: string, type: string }

allowUnboundedNonStreamingQueries

仅按查询对非流式处理顺序有效。 默认值:false;设置为 true 时,它允许查询绕过阻止非流式处理查询的默认行为,而不使用最高子句或限制子句。

allowUnboundedNonStreamingQueries?: boolean

属性值

boolean

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

disableNonStreamingOrderByQuery

在支持的查询功能中禁用 nonStreamingOrderBy 查询功能。 默认值:false。 设置为 true 以避免不支持此功能的旧网关出错。

disableNonStreamingOrderByQuery?: boolean

属性值

boolean

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

vectorSearchBufferSize

指定用于存储 nonStreamingOrderBy 查询的最终结果的自定义最大缓冲区大小。 如果查询包含 top/offset+limit 子句,则忽略此值。

vectorSearchBufferSize?: number

属性值

number

继承属性详细信息

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

bypassIntegratedCache

设置是否应绕过或启用 Azure CosmosDB 服务中的请求的集成缓存。

默认值为 false。 默认情况下,已启用集成缓存

bypassIntegratedCache?: boolean

属性值

boolean

继承自SharedOptions.bypassIntegratedCache

initialHeaders

(高级用例)将请求发送到 Cosmos 时要以初始标头开头

initialHeaders?: CosmosHeaders

属性值

继承自SharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

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

默认值为 null

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

maxIntegratedCacheStalenessInMs?: number

属性值

number

继承自SharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

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

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

priorityLevel?: PriorityLevel

属性值

继承自SharedOptions.priorityLevel

sessionToken

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

sessionToken?: string

属性值

string

继承自SharedOptions.sessionToken