你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
FeedOptions interface
源选项和查询方法。
- 扩展
属性
access |
与请求关联的条件。 |
allow |
仅按查询对非流式处理顺序有效。 默认值:false;设置为 true 时,它允许查询绕过阻止非流式处理查询的默认行为,而不使用最高子句或限制子句。 |
buffer |
在查询期间启用缓冲其他项。 默认值:false 这将一次缓冲另一页(乘以后台服务器中的 maxDegreeOfParallelism)。
这样可以在客户端需要页面之前提取页面来提高延迟。 如果要从服务器中清空所有结果,例如 |
continuation | 用于继续枚举的不透明标记。 默认值:未定义 |
continuation |
用于继续枚举的不透明标记。 默认值:未定义 |
continuation |
限制响应中继续标记的大小。 默认值:未定义 延续标记包含可选数据,可以在将其写出标头之前从序列化中删除。 默认情况下,我们将此值限制为 1kb,以避免长标头(Node.js 具有全局标头大小限制)。 用户可以将此字段设置为允许更长的标头,这有助于后端优化查询执行。 |
disable |
在支持的查询功能中禁用 nonStreamingOrderBy 查询功能。 默认值:false。 设置为 true 以避免不支持此功能的旧网关出错。 |
enable |
允许对无法用作索引的查询进行扫描,该查询已选择在请求的路径上退出。 默认值:false 一般情况下,最好避免使用此设置。 扫描相对昂贵,需要很长时间才能提供服务。 |
force |
此设置强制查询使用查询计划。 默认值:false 注意:这将禁用延续令牌支持,即使对于单个分区查询也是如此。 对于聚合和大多数跨分区查询等查询,无论如何都会发生这种情况。 但是,由于库不知道它是什么类型的查询,直到我们返回第一个响应,一些优化在以后才会发生。 如果启用此设置,它将强制查询查询计划,这将保存一些网络请求,并确保可能发生并行。 当你知道你正在执行跨分区或聚合查询时非常有用。 |
max |
在 Azure Cosmos DB 数据库服务中并行执行查询期间运行客户端的最大并发操作数。 负值使系统自动决定要运行的并发操作数。 默认值:0(无并行度) |
max |
枚举操作中要返回的最大项数。 默认值:未定义(服务器将定义有效负载) 使用此值过期通常会导致查询的最大性能更改。 项计数越小,第一个结果的传递速度就越快(对于非聚合)。 对于较大的量,为请求提供服务需要更长的时间,但对于大型查询,通常会获得更好的吞吐量(例如,如果需要 1000 个项目,然后才能执行任何其他操作,请将 |
partition |
将查询限制为特定的分区键。 默认值:未定义 可以通过两种方式将查询范围限定为单个分区:
如果查询正文无法控制,但仍希望将其限制为单个分区,则前者非常有用。 示例:最终用户指定的查询。 |
populate |
启用在响应标头中返回索引指标。 默认值:false |
populate |
启用在响应标头中返回查询指标。 默认值:false 用于调试缓慢或昂贵的查询。 此外,还会增加响应大小,如果在 Node.js中使用了低的最大标头大小,则可以更快地遇到问题。 |
use |
注意:请考虑改用 changeFeed。 指示更改源请求。 必须设置为“增量源”,否则必须省略。 默认值:false |
vector |
指定用于存储 nonStreamingOrderBy 查询的最终结果的自定义最大缓冲区大小。 如果查询包含 top/offset+limit 子句,则忽略此值。 |
继承属性
abort |
abortSignal 传递给此方法调用创建的所有基础网络请求。 请参阅 https://developer.mozilla.org/en-US/docs/Web/API/AbortController 示例 取消读取请求
|
bypass |
设置是否应绕过或启用 Azure CosmosDB 服务中的请求的集成缓存。 默认值为 false。 默认情况下,已启用集成缓存 |
initial |
(高级用例)将请求发送到 Cosmos 时要以初始标头开头 |
max |
设置与 Azure CosmosDB 服务中的请求关联的过期值。 对于 <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> 或 <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>的请求,集成缓存的响应保证不会超过此 maxIntegratedCacheStaleness 指示的值。 如果未设置一致性级别,则忽略此属性。 默认值为 null 缓存过期以毫秒为单位支持粒度。 将忽略小于毫秒的任何内容。 |
priority |
每个请求的优先级(低/高)。 在任何高优先级请求之前,低优先级请求始终受到限制。 默认值为 null。 默认情况下,所有请求都是高优先级请求 |
session |
启用/禁用获取文档容器读取请求的文档容器配额相关统计信息。 |
属性详细信息
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
继承自
bypassIntegratedCache
设置是否应绕过或启用 Azure CosmosDB 服务中的请求的集成缓存。
默认值为 false。 默认情况下,已启用集成缓存
bypassIntegratedCache?: boolean
属性值
boolean
继承自
initialHeaders
(高级用例)将请求发送到 Cosmos 时要以初始标头开头
initialHeaders?: CosmosHeaders
属性值
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
priorityLevel
每个请求的优先级(低/高)。 在任何高优先级请求之前,低优先级请求始终受到限制。
默认值为 null。 默认情况下,所有请求都是高优先级请求
priorityLevel?: PriorityLevel