FeedOptions interface
De feedopties en querymethoden.
- Extends
Eigenschappen
access |
Voorwaarden die zijn gekoppeld aan de aanvraag. |
buffer |
Het bufferen van extra items tijdens query's inschakelen. Standaardinstelling: false Hiermee wordt een extra pagina tegelijk (vermenigvuldigd met maxDegreeOfParallelism) van de server op de achtergrond gebufferd.
Dit verbetert de latentie door pagina's op te halen voordat ze nodig zijn voor de client. Als u alle resultaten van de server leegloopt, zoals |
continuation | Ondoorzichtig token voor het voortzetten van de opsomming. Standaardinstelling: niet gedefinieerd |
continuation |
Ondoorzichtig token voor het voortzetten van de opsomming. Standaardinstelling: niet gedefinieerd |
continuation |
Hiermee wordt de grootte van het vervolgtoken in het antwoord beperkt. Standaardinstelling: niet gedefinieerd Vervolgtokens bevatten optionele gegevens die uit de serialisatie kunnen worden verwijderd voordat ze naar een header worden geschreven. Standaard beperken we dit tot 1 kB om lange headers te voorkomen (Node.js heeft een algemene limiet voor de headergrootte). Een gebruiker kan dit veld instellen om langere headers toe te staan, waardoor de back-end queryuitvoering kan optimaliseren. |
enable |
Scannen toestaan op de query's die niet konden worden uitgevoerd als indexering, is afgemeld voor de aangevraagde paden. Standaardinstelling: false Over het algemeen kunt u deze instelling het beste niet gebruiken. Scans zijn relatief duur en duren lang. |
force |
Deze instelling dwingt de query om een queryplan te gebruiken. Standaardinstelling: false Opmerking: hiermee wordt ondersteuning voor vervolgtoken uitgeschakeld, zelfs voor query's met één partitie. Voor query's zoals aggregaties en de meeste partitieoverschrijdende query's gebeurt dit toch. Omdat de bibliotheek echter niet weet welk type query het is totdat we het eerste antwoord terugkrijen, kan enige optimalisatie pas later plaatsvinden. Als deze instelling is ingeschakeld, wordt het queryplan voor de query geforceerd, waardoor sommige netwerkaanvragen worden opgeslagen en ervoor wordt gezorgd dat parallellisme kan plaatsvinden. Handig voor wanneer u weet dat u query's voor meerdere partities of aggregatie uitvoert. |
max |
Het maximum aantal gelijktijdige bewerkingen dat aan de clientzijde wordt uitgevoerd tijdens het uitvoeren van parallelle query's in de Azure Cosmos DB-databaseservice. Negatieve waarden zorgen ervoor dat het systeem automatisch het aantal gelijktijdige bewerkingen bepaalt dat moet worden uitgevoerd. Standaardinstelling: 0 (geen parallelle uitvoering) |
max |
Maximum aantal items dat moet worden geretourneerd in de opsommingsbewerking. Standaardinstelling: niet gedefinieerd (server definieert nettolading) Een toename met deze waarde kan meestal leiden tot de grootste prestatiewijzigingen voor de query. Hoe kleiner het aantal items, hoe sneller het eerste resultaat wordt geleverd (voor niet-aggregaties). Voor grotere hoeveelheden duurt het langer om de aanvraag uit te voeren, maar u krijgt meestal een betere doorvoer voor grote query's (bijvoorbeeld als u 1000 items nodig hebt voordat u andere acties kunt uitvoeren, ingesteld |
partition |
Beperkt de query tot een specifieke partitiesleutel. Standaardinstelling: niet gedefinieerd Het bereik van een query op één partitie kan op twee manieren worden bereikt:
De eerste is handig wanneer u de hoofdtekst van de query niet kunt beheren, maar u deze toch wilt beperken tot één partitie. Voorbeeld: een door de eindgebruiker opgegeven query. |
populate |
Schakel metrische indexgegevens in antwoordheaders in. Standaardinstelling: false |
populate |
Schakel het retourneren van metrische querygegevens in antwoordheaders in. Standaardinstelling: false Wordt gebruikt voor het opsporen van fouten in trage of dure query's. Vergroot ook de antwoordgrootte en als u een lage maximale headergrootte gebruikt in Node.js, kunt u sneller problemen tegenkomen. |
use |
Opmerking: overweeg in plaats daarvan changeFeed te gebruiken. Hiermee wordt een wijzigingsfeedaanvraag aangegeven. Moet worden ingesteld op Incrementele feed of anders worden weggelaten. Standaardinstelling: false |
Overgenomen eigenschappen
abort |
abortSignal om door te geven aan alle onderliggende netwerkaanvragen die door deze methodeaanroep zijn gemaakt. Zie https://developer.mozilla.org/en-US/docs/Web/API/AbortController Voorbeeld Een leesaanvraag annuleren
|
initial |
(Geavanceerde use-case) Eerste headers om mee te beginnen bij het verzenden van aanvragen naar Cosmos |
max |
Hiermee stelt u de staleness-waarde in die is gekoppeld aan de aanvraag in de Azure CosmosDB-service. Voor aanvragen waarbij de <xref:com.azure.cosmos.ConsistencyLevel> is <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> of <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, worden antwoorden van de geïntegreerde cache gegarandeerd niet verlopen dan de waarde aangegeven door deze maxIntegratedCacheStaleness. Wanneer het consistentieniveau niet is ingesteld, wordt deze eigenschap genegeerd. Standaardwaarde is null Cache Staleness wordt ondersteund in milliseconden granulariteit. Alles wat kleiner is dan milliseconden wordt genegeerd. |
priority |
Prioriteitsniveau (laag/hoog) voor elke aanvraag. Aanvragen met een lage prioriteit worden altijd beperkt vóór aanvragen met hoge prioriteit. De standaardwaarde is null. Standaard hebben alle aanvragen een hoge prioriteit |
session |
Hiermee schakelt u het ophalen van statistieken over het quotum voor documentcontainers in of uit voor leesaanvragen voor documentcontainers. |
Eigenschapdetails
accessCondition
Voorwaarden die zijn gekoppeld aan de aanvraag.
accessCondition?: { condition: string, type: string }
Waarde van eigenschap
{ condition: string, type: string }
bufferItems
Het bufferen van extra items tijdens query's inschakelen. Standaardinstelling: false
Hiermee wordt een extra pagina tegelijk (vermenigvuldigd met maxDegreeOfParallelism) van de server op de achtergrond gebufferd.
Dit verbetert de latentie door pagina's op te halen voordat ze nodig zijn voor de client. Als u alle resultaten van de server leegloopt, zoals .fetchAll
, moet u dit meestal inschakelen. Als u slechts één pagina tegelijk ophaalt via het vervolgtoken, moet u dit voorkomen. Als u meer dan één pagina leegloopt, maar niet de volledige resultatenset, kan dit de latentie helpen verbeteren, maar het totale aantal RU/s dat wordt gebruikt voor de hele query verhogen (omdat sommige pagina's meer dan één keer worden opgehaald).
bufferItems?: boolean
Waarde van eigenschap
boolean
continuation
Waarschuwing
Deze API is nu afgeschaft.
Use continuationToken instead.
Ondoorzichtig token voor het voortzetten van de opsomming. Standaardinstelling: niet gedefinieerd
continuation?: string
Waarde van eigenschap
string
continuationToken
Ondoorzichtig token voor het voortzetten van de opsomming. Standaardinstelling: niet gedefinieerd
continuationToken?: string
Waarde van eigenschap
string
continuationTokenLimitInKB
Hiermee wordt de grootte van het vervolgtoken in het antwoord beperkt. Standaardinstelling: niet gedefinieerd
Vervolgtokens bevatten optionele gegevens die uit de serialisatie kunnen worden verwijderd voordat ze naar een header worden geschreven. Standaard beperken we dit tot 1 kB om lange headers te voorkomen (Node.js heeft een algemene limiet voor de headergrootte). Een gebruiker kan dit veld instellen om langere headers toe te staan, waardoor de back-end queryuitvoering kan optimaliseren.
continuationTokenLimitInKB?: number
Waarde van eigenschap
number
enableScanInQuery
Scannen toestaan op de query's die niet konden worden uitgevoerd als indexering, is afgemeld voor de aangevraagde paden. Standaardinstelling: false
Over het algemeen kunt u deze instelling het beste niet gebruiken. Scans zijn relatief duur en duren lang.
enableScanInQuery?: boolean
Waarde van eigenschap
boolean
forceQueryPlan
Deze instelling dwingt de query om een queryplan te gebruiken. Standaardinstelling: false
Opmerking: hiermee wordt ondersteuning voor vervolgtoken uitgeschakeld, zelfs voor query's met één partitie.
Voor query's zoals aggregaties en de meeste partitieoverschrijdende query's gebeurt dit toch. Omdat de bibliotheek echter niet weet welk type query het is totdat we het eerste antwoord terugkrijen, kan enige optimalisatie pas later plaatsvinden.
Als deze instelling is ingeschakeld, wordt het queryplan voor de query geforceerd, waardoor sommige netwerkaanvragen worden opgeslagen en ervoor wordt gezorgd dat parallellisme kan plaatsvinden. Handig voor wanneer u weet dat u query's voor meerdere partities of aggregatie uitvoert.
forceQueryPlan?: boolean
Waarde van eigenschap
boolean
maxDegreeOfParallelism
Het maximum aantal gelijktijdige bewerkingen dat aan de clientzijde wordt uitgevoerd tijdens het uitvoeren van parallelle query's in de Azure Cosmos DB-databaseservice. Negatieve waarden zorgen ervoor dat het systeem automatisch het aantal gelijktijdige bewerkingen bepaalt dat moet worden uitgevoerd. Standaardinstelling: 0 (geen parallelle uitvoering)
maxDegreeOfParallelism?: number
Waarde van eigenschap
number
maxItemCount
Maximum aantal items dat moet worden geretourneerd in de opsommingsbewerking. Standaardinstelling: niet gedefinieerd (server definieert nettolading)
Een toename met deze waarde kan meestal leiden tot de grootste prestatiewijzigingen voor de query.
Hoe kleiner het aantal items, hoe sneller het eerste resultaat wordt geleverd (voor niet-aggregaties). Voor grotere hoeveelheden duurt het langer om de aanvraag uit te voeren, maar u krijgt meestal een betere doorvoer voor grote query's (bijvoorbeeld als u 1000 items nodig hebt voordat u andere acties kunt uitvoeren, ingesteld maxItemCount
op 1000). Als u na de eerste 100 kunt beginnen met werken, stelt u in maxItemCount
op 100.)
maxItemCount?: number
Waarde van eigenschap
number
partitionKey
Beperkt de query tot een specifieke partitiesleutel. Standaardinstelling: niet gedefinieerd
Het bereik van een query op één partitie kan op twee manieren worden bereikt:
container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray()
container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()
De eerste is handig wanneer u de hoofdtekst van de query niet kunt beheren, maar u deze toch wilt beperken tot één partitie. Voorbeeld: een door de eindgebruiker opgegeven query.
partitionKey?: PartitionKey
Waarde van eigenschap
populateIndexMetrics
Schakel metrische indexgegevens in antwoordheaders in. Standaardinstelling: false
populateIndexMetrics?: boolean
Waarde van eigenschap
boolean
populateQueryMetrics
Schakel het retourneren van metrische querygegevens in antwoordheaders in. Standaardinstelling: false
Wordt gebruikt voor het opsporen van fouten in trage of dure query's. Vergroot ook de antwoordgrootte en als u een lage maximale headergrootte gebruikt in Node.js, kunt u sneller problemen tegenkomen.
populateQueryMetrics?: boolean
Waarde van eigenschap
boolean
useIncrementalFeed
Opmerking: overweeg in plaats daarvan changeFeed te gebruiken.
Hiermee wordt een wijzigingsfeedaanvraag aangegeven. Moet worden ingesteld op Incrementele feed of anders worden weggelaten. Standaardinstelling: false
useIncrementalFeed?: boolean
Waarde van eigenschap
boolean
Details van overgenomen eigenschap
abortSignal
abortSignal om door te geven aan alle onderliggende netwerkaanvragen die door deze methodeaanroep zijn gemaakt. Zie https://developer.mozilla.org/en-US/docs/Web/API/AbortController
Voorbeeld
Een leesaanvraag annuleren
const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
abortSignal?: AbortSignal
Waarde van eigenschap
AbortSignal
Overgenomen vanSharedOptions.abortSignal
initialHeaders
(Geavanceerde use-case) Eerste headers om mee te beginnen bij het verzenden van aanvragen naar Cosmos
initialHeaders?: CosmosHeaders
Waarde van eigenschap
Overgenomen vanSharedOptions.initialHeaders
maxIntegratedCacheStalenessInMs
Hiermee stelt u de staleness-waarde in die is gekoppeld aan de aanvraag in de Azure CosmosDB-service. Voor aanvragen waarbij de <xref:com.azure.cosmos.ConsistencyLevel> is <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> of <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, worden antwoorden van de geïntegreerde cache gegarandeerd niet verlopen dan de waarde aangegeven door deze maxIntegratedCacheStaleness. Wanneer het consistentieniveau niet is ingesteld, wordt deze eigenschap genegeerd.
Standaardwaarde is null
Cache Staleness wordt ondersteund in milliseconden granulariteit. Alles wat kleiner is dan milliseconden wordt genegeerd.
maxIntegratedCacheStalenessInMs?: number
Waarde van eigenschap
number
Overgenomen vanSharedOptions.maxIntegratedCacheStalenessInMs
priorityLevel
Prioriteitsniveau (laag/hoog) voor elke aanvraag. Aanvragen met een lage prioriteit worden altijd beperkt vóór aanvragen met hoge prioriteit.
De standaardwaarde is null. Standaard hebben alle aanvragen een hoge prioriteit
priorityLevel?: PriorityLevel
Waarde van eigenschap
Overgenomen vanSharedOptions.priorityLevel
sessionToken
Hiermee schakelt u het ophalen van statistieken over het quotum voor documentcontainers in of uit voor leesaanvragen voor documentcontainers.
sessionToken?: string
Waarde van eigenschap
string
Overgenomen vanSharedOptions.sessionToken