FeedOptions interface

摘要選項和查詢方法。

Extends

屬性

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

指定用於儲存非StreamingOrderBy 查詢最終結果的自定義緩衝區大小上限。 如果查詢包含 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

指定用於儲存非StreamingOrderBy 查詢最終結果的自定義緩衝區大小上限。 如果查詢包含 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