FeedOptions interface
摘要選項和查詢方法。
- Extends
屬性
| access |
與要求相關聯的條件。 |
| allow |
僅適用於依查詢的非串流順序。 默認值:false;當設定為 true 時,它可讓查詢略過預設行為,以封鎖沒有頂端或限制子句的非串流查詢。 |
| buffer |
在查詢期間啟用緩衝處理其他專案。 默認值:false 這會一次緩衝處理其他頁面(乘以 maxDegreeOfParallelism)從背景的伺服器。
這可藉由擷取頁面來改善延遲,然後用戶端才需要這些頁面。 如果您要從伺服器清空所有結果,例如 |
| continuation | 不透明令牌,用於繼續列舉。 預設值:未定義 |
| continuation |
不透明令牌,用於繼續列舉。 預設值:未定義 |
| continuation |
限制回應中的接續令牌大小。 預設值:未定義 接續令牌包含可從串行化中移除的選擇性數據,再將其寫出至標頭。 根據預設,我們會將此限制設為1kb,以避免長標頭(Node.js 具有全域標頭大小限制)。 用戶可以設定此欄位以允許較長的標頭,這有助於後端優化查詢執行。 |
| disable |
默認值:false。 如果設置為 true,則會禁用混合搜索查詢計劃優化。 默認情況下,此優化處於啟用狀態,用於提高混合搜索查詢的性能。 |
| disable |
在支持的查詢功能中停用 nonStreamingOrderBy 查詢功能。 默認值:false。 設定為 true 以避免來自不支援此功能的舊閘道發生錯誤。 |
| enable |
控制查詢執行行為。
默認值:false。 如果設置為 false,則查詢將重試,直到結果準備就緒並 |
| 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。 默認會啟用整合式快取 |
| consistency |
用戶端所需的一致性層級。 |
| disable |
DisableRUPerMinuteUsage 可用來啟用/停用要求單位(RU)/分鐘容量,以在一般布建 RU/秒用盡時提供要求。 |
| excluded |
排除作業的一或多個 Azure 區域。 只有在 enableEndPointDiscovery 設定為 true 時,才會套用此選項。 |
| 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 |
啟用/停用取得檔容器讀取要求的檔容器配額相關統計數據。 |
| throughput |
輸送量 請求 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
bypassIntegratedCache
設定是否應該略過或啟用 Azure CosmosDB 服務中要求的整合式快取。
默認值為 false。 默認會啟用整合式快取
bypassIntegratedCache?: boolean
屬性值
boolean
consistencyLevel
disableRUPerMinuteUsage
DisableRUPerMinuteUsage 可用來啟用/停用要求單位(RU)/分鐘容量,以在一般布建 RU/秒用盡時提供要求。
disableRUPerMinuteUsage?: boolean
屬性值
boolean
excludedLocations
排除作業的一或多個 Azure 區域。
只有在 enableEndPointDiscovery 設定為 true 時,才會套用此選項。
excludedLocations?: string[]
屬性值
string[]
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
屬性值
sessionToken
throughputBucket
輸送量 請求 Bucket 的儲存段。
預設值為 null。 在這種情況下,請求可以使用 100% 的分區輸送量。
有關詳細資訊,請訪問 [Cosmos DB 輸送量分桶](https://aka.ms/cosmsodb-bucketing).throughputBucket?: number
屬性值
number