FeedOptions interface
摘要選項和查詢方法。
- Extends
屬性
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 |
指定用於儲存非StreamingOrderBy 查詢最終結果的自定義緩衝區大小上限。 如果查詢包含 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
指定用於儲存非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
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