共用方式為


FeedOptions interface

摘要選項和查詢方法。

Extends

屬性

accessCondition

與要求相關聯的條件。

allowUnboundedNonStreamingQueries

僅適用於依查詢的非串流順序。 默認值:false;當設定為 true 時,它可讓查詢略過預設行為,以封鎖沒有頂端或限制子句的非串流查詢。

bufferItems

在查詢期間啟用緩衝處理其他專案。 默認值:false

這會一次緩衝處理其他頁面(乘以 maxDegreeOfParallelism)從背景的伺服器。 這可藉由擷取頁面來改善延遲,然後用戶端才需要這些頁面。 如果您要從伺服器清空所有結果,例如 .fetchAll,您通常應該啟用此專案。 如果您一次只透過接續令牌擷取一個頁面,您應該避免這種情況。 如果您要清空一個以上的頁面,但不是整個結果集,它可能有助於改善延遲,但它會增加 RU/秒用於處理整個查詢的總數量(因為某些頁面會擷取一次以上)。

continuation

不透明令牌,用於繼續列舉。 預設值:未定義

continuationToken

不透明令牌,用於繼續列舉。 預設值:未定義

continuationTokenLimitInKB

限制回應中的接續令牌大小。 預設值:未定義

接續令牌包含可從串行化中移除的選擇性數據,再將其寫出至標頭。 根據預設,我們會將此限制設為1kb,以避免長標頭(Node.js 具有全域標頭大小限制)。 用戶可以設定此欄位以允許較長的標頭,這有助於後端優化查詢執行。

disableHybridSearchQueryPlanOptimization

默認值:false。 如果設置為 true,則會禁用混合搜索查詢計劃優化。 默認情況下,此優化處於啟用狀態,用於提高混合搜索查詢的性能。

disableNonStreamingOrderByQuery

在支持的查詢功能中停用 nonStreamingOrderBy 查詢功能。 默認值:false。 設定為 true 以避免來自不支援此功能的舊閘道發生錯誤。

enableQueryControl

控制查詢執行行為。 默認值:false。 如果設置為 false,則查詢將重試,直到結果準備就緒並 maxItemCount 到達,這對於數據相對較小的大型分區可能需要一些時間。 如果設置為 true,則掃描分區,直到 maxDegreeOfParallelism,將結果添加到緩衝區,並返回可用內容。 如果結果尚未準備就緒,它將返回空回應。

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

指定用於儲存非StreamingOrderBy 查詢最終結果的自定義緩衝區大小上限。 如果查詢包含 top/offset+limit 子句,則會忽略此值。

繼承的屬性

abortSignal

abortSignal 以傳遞至這個方法呼叫所建立的所有基礎網路要求。 請參閱 https://developer.mozilla.org/en-US/docs/Web/API/AbortController

範例

取消讀取要求

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });

const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const controller = new AbortController();
const results = container.items.query("SELECT * from c", {
  abortSignal: controller.signal,
});
bypassIntegratedCache

設定是否應該略過或啟用 Azure CosmosDB 服務中要求的整合式快取。

默認值為 false。 默認會啟用整合式快取

consistencyLevel

用戶端所需的一致性層級。

disableRUPerMinuteUsage

DisableRUPerMinuteUsage 可用來啟用/停用要求單位(RU)/分鐘容量,以在一般布建 RU/秒用盡時提供要求。

excludedLocations

排除作業的一或多個 Azure 區域。

只有在 enableEndPointDiscovery 設定為 true 時,才會套用此選項。

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

啟用/停用取得檔容器讀取要求的檔容器配額相關統計數據。

throughputBucket

輸送量 請求 Bucket 的儲存段。

預設值為 null。 在這種情況下,請求可以使用 100% 的分區輸送量。

有關詳細資訊,請訪問 [Cosmos DB 輸送量分桶](https://aka.ms/cosmsodb-bucketing).

屬性詳細資料

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

disableHybridSearchQueryPlanOptimization

默認值:false。 如果設置為 true,則會禁用混合搜索查詢計劃優化。 默認情況下,此優化處於啟用狀態,用於提高混合搜索查詢的性能。

disableHybridSearchQueryPlanOptimization?: boolean

屬性值

boolean

disableNonStreamingOrderByQuery

在支持的查詢功能中停用 nonStreamingOrderBy 查詢功能。 默認值:false。 設定為 true 以避免來自不支援此功能的舊閘道發生錯誤。

disableNonStreamingOrderByQuery?: boolean

屬性值

boolean

enableQueryControl

控制查詢執行行為。 默認值:false。 如果設置為 false,則查詢將重試,直到結果準備就緒並 maxItemCount 到達,這對於數據相對較小的大型分區可能需要一些時間。 如果設置為 true,則掃描分區,直到 maxDegreeOfParallelism,將結果添加到緩衝區,並返回可用內容。 如果結果尚未準備就緒,它將返回空回應。

enableQueryControl?: 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

指定用於儲存非StreamingOrderBy 查詢最終結果的自定義緩衝區大小上限。 如果查詢包含 top/offset+limit 子句,則會忽略此值。

vectorSearchBufferSize?: number

屬性值

number

繼承的屬性詳細資料

abortSignal

abortSignal 以傳遞至這個方法呼叫所建立的所有基礎網路要求。 請參閱 https://developer.mozilla.org/en-US/docs/Web/API/AbortController

範例

取消讀取要求

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });

const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const controller = new AbortController();
const results = container.items.query("SELECT * from c", {
  abortSignal: controller.signal,
});
abortSignal?: AbortSignal

屬性值

AbortSignal

繼承自SharedOptions.abortSignal

bypassIntegratedCache

設定是否應該略過或啟用 Azure CosmosDB 服務中要求的整合式快取。

默認值為 false。 默認會啟用整合式快取

bypassIntegratedCache?: boolean

屬性值

boolean

繼承自SharedOptions.bypassIntegratedCache

consistencyLevel

用戶端所需的一致性層級。

consistencyLevel?: string

屬性值

string

繼承自SharedOptions.consistencyLevel

disableRUPerMinuteUsage

DisableRUPerMinuteUsage 可用來啟用/停用要求單位(RU)/分鐘容量,以在一般布建 RU/秒用盡時提供要求。

disableRUPerMinuteUsage?: boolean

屬性值

boolean

繼承自SharedOptions.disableRUPerMinuteUsage

excludedLocations

排除作業的一或多個 Azure 區域。

只有在 enableEndPointDiscovery 設定為 true 時,才會套用此選項。

excludedLocations?: string[]

屬性值

string[]

繼承自SharedOptions.excludedLocations

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

throughputBucket

輸送量 請求 Bucket 的儲存段。

預設值為 null。 在這種情況下,請求可以使用 100% 的分區輸送量。

有關詳細資訊,請訪問 [Cosmos DB 輸送量分桶](https://aka.ms/cosmsodb-bucketing).
throughputBucket?: number

屬性值

number

繼承自SharedOptions.throughputBucket