FeedOptions interface
Las opciones de fuente y los métodos de consulta.
- Extends
Propiedades
access |
Condiciones asociadas a la solicitud. |
allow |
Válido solo para el orden de no streaming por consulta. Valor predeterminado: false; Cuando se establece en true, permite que las consultas omitan el comportamiento predeterminado que bloquea las consultas noStreaming sin cláusulas top o limit. |
buffer |
Habilite el almacenamiento en búfer de elementos adicionales durante las consultas. Valor predeterminado: false Esto almacenará en búfer una página adicional a la vez (multiplicada por maxDegreeOfParallelism) desde el servidor en segundo plano.
Esto mejora la latencia mediante la captura de páginas antes de que el cliente las necesite. Si va a purgar todos los resultados del servidor, como |
continuation | Token opaco para continuar con la enumeración. Valor predeterminado: sin definir |
continuation |
Token opaco para continuar con la enumeración. Valor predeterminado: sin definir |
continuation |
Limita el tamaño del token de continuación en la respuesta. Valor predeterminado: sin definir Los tokens de continuación contienen datos opcionales que se pueden quitar de la serialización antes de escribirlos en un encabezado. De forma predeterminada, se limita a 1 kb para evitar encabezados largos (Node.js tiene un límite de tamaño de encabezado global). Un usuario puede establecer este campo para permitir encabezados más largos, lo que puede ayudar al back-end a optimizar la ejecución de consultas". |
disable |
Deshabilite la característica de consulta nonStreamingOrderBy en las características de consulta admitidas. Valor predeterminado: false. Establézcalo en true para evitar errores de una puerta de enlace antigua que no admita esta característica. |
enable |
Permitir el examen en las consultas que no se pudieron servir como indexación se ha rechazado en las rutas de acceso solicitadas. Valor predeterminado: false En general, es mejor evitar el uso de esta configuración. Los exámenes son relativamente costosos y tardan mucho tiempo en servirse. |
force |
Esta configuración obliga a la consulta a usar un plan de consulta. Valor predeterminado: false Nota: esto deshabilitará la compatibilidad con tokens de continuación, incluso para consultas de partición única. En el caso de consultas como agregados y la mayoría de las consultas entre particiones, esto sucede de todos modos. Sin embargo, dado que la biblioteca no sabe qué tipo de consulta es hasta que se devuelve la primera respuesta, algunas optimizaciones no pueden ocurrir hasta más adelante. Si esta configuración está habilitada, forzará el plan de consulta para la consulta, lo que guardará algunas solicitudes de red y garantizará que se pueda producir paralelismo. Resulta útil cuando sabe que está realizando consultas entre particiones o agregados. |
max |
Número máximo de operaciones simultáneas que ejecutan el lado cliente durante la ejecución de consultas paralelas en el servicio de base de datos de Azure Cosmos DB. Los valores negativos hacen que el sistema decida automáticamente el número de operaciones simultáneas que se van a ejecutar. Valor predeterminado: 0 (sin paralelismo) |
max |
Número máximo de elementos que se van a devolver en la operación de enumeración. Valor predeterminado: no definido (el servidor definirá la carga) La expiración con este valor normalmente puede dar lugar a los cambios de rendimiento más importantes en la consulta. Cuanto menor sea el recuento de elementos, cuanto más rápido se entregue el primer resultado (para los no agregados). Para cantidades mayores, tardará más tiempo en atender la solicitud, pero normalmente obtendrá un mejor rendimiento para las consultas grandes (es decir, si necesita 1000 elementos antes de poder realizar cualquier otra acción, establezca |
partition |
Limita la consulta a una clave de partición específica. Valor predeterminado: sin definir El ámbito de una consulta en una sola partición se puede lograr de dos maneras:
El primero es útil cuando el cuerpo de la consulta está fuera del control, pero todavía desea restringirlo a una sola partición. Ejemplo: una consulta especificada por el usuario final. |
populate |
Habilite la devolución de métricas de índice en encabezados de respuesta. Valor predeterminado: false |
populate |
Habilite la devolución de métricas de consulta en encabezados de respuesta. Valor predeterminado: false Se usa para depurar consultas lentas o costosas. También aumenta el tamaño de respuesta y, si usa un tamaño de encabezado máximo bajo en Node.js, puede encontrarse con problemas más rápidos. |
use |
Nota: considere la posibilidad de usar changeFeed en su lugar. Indica una solicitud de fuente de cambios. Debe establecerse en "Fuente incremental" o omitirse de lo contrario. Valor predeterminado: false |
vector |
Especifica un tamaño de búfer máximo personalizado para almacenar los resultados finales para las consultas nonStreamingOrderBy. Este valor se omite si la consulta incluye cláusulas top/offset+limit. |
Propiedades heredadas
abort |
abortSignal para pasar a todas las solicitudes de red subyacentes creadas por esta llamada de método. Consulte https://developer.mozilla.org/en-US/docs/Web/API/AbortController de ejemplo de Cancelación de una solicitud de lectura
|
bypass |
Establece si se debe omitir o habilitar la caché integrada para la solicitud en el servicio Azure CosmosDB. El valor predeterminado es false. De forma predeterminada, la caché integrada está habilitada |
initial |
(Caso de uso avanzado) Encabezados iniciales con los que empezar al enviar solicitudes a Cosmos |
max |
Establece el valor de obsolescencia asociado a la solicitud en el servicio Azure CosmosDB. En el caso de las solicitudes en las que el <xref:com.azure.cosmos.ConsistencyLevel> es <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> o <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, se garantiza que las respuestas de la caché integrada no sean obsoletas que el valor indicado por este maxIntegratedCacheStaleness. Cuando no se establece el nivel de coherencia, esta propiedad se omite. El valor predeterminado es NULL La obsolescencia de caché se admite en granularidad de milisegundos. Se omitirá cualquier cosa menor que milisegundos. |
priority |
Nivel de prioridad (bajo/alto) para cada solicitud. Las solicitudes de prioridad baja siempre se limitan antes de las solicitudes de prioridad alta. El valor predeterminado es NULL. De forma predeterminada, todas las solicitudes son de prioridad alta |
session |
Habilita o deshabilita la obtención de estadísticas relacionadas con la cuota de contenedor de documentos para las solicitudes de lectura del contenedor de documentos. |
Detalles de las propiedades
accessCondition
Condiciones asociadas a la solicitud.
accessCondition?: { condition: string, type: string }
Valor de propiedad
{ condition: string, type: string }
allowUnboundedNonStreamingQueries
Válido solo para el orden de no streaming por consulta. Valor predeterminado: false; Cuando se establece en true, permite que las consultas omitan el comportamiento predeterminado que bloquea las consultas noStreaming sin cláusulas top o limit.
allowUnboundedNonStreamingQueries?: boolean
Valor de propiedad
boolean
bufferItems
Habilite el almacenamiento en búfer de elementos adicionales durante las consultas. Valor predeterminado: false
Esto almacenará en búfer una página adicional a la vez (multiplicada por maxDegreeOfParallelism) desde el servidor en segundo plano.
Esto mejora la latencia mediante la captura de páginas antes de que el cliente las necesite. Si va a purgar todos los resultados del servidor, como .fetchAll
, normalmente debe habilitarlo. Si solo va a capturar una página a la vez a través del token de continuación, debe evitarlo. Si va a purgar más de una página, pero no todo el conjunto de resultados, puede ayudar a mejorar la latencia, pero aumentará la cantidad total de RU/s que se usan para atender toda la consulta (ya que algunas páginas se capturarán más de una vez).
bufferItems?: boolean
Valor de propiedad
boolean
continuation
Advertencia
Esta API ya está en desuso.
Use continuationToken instead.
Token opaco para continuar con la enumeración. Valor predeterminado: sin definir
continuation?: string
Valor de propiedad
string
continuationToken
Token opaco para continuar con la enumeración. Valor predeterminado: sin definir
continuationToken?: string
Valor de propiedad
string
continuationTokenLimitInKB
Limita el tamaño del token de continuación en la respuesta. Valor predeterminado: sin definir
Los tokens de continuación contienen datos opcionales que se pueden quitar de la serialización antes de escribirlos en un encabezado. De forma predeterminada, se limita a 1 kb para evitar encabezados largos (Node.js tiene un límite de tamaño de encabezado global). Un usuario puede establecer este campo para permitir encabezados más largos, lo que puede ayudar al back-end a optimizar la ejecución de consultas".
continuationTokenLimitInKB?: number
Valor de propiedad
number
disableNonStreamingOrderByQuery
Deshabilite la característica de consulta nonStreamingOrderBy en las características de consulta admitidas. Valor predeterminado: false. Establézcalo en true para evitar errores de una puerta de enlace antigua que no admita esta característica.
disableNonStreamingOrderByQuery?: boolean
Valor de propiedad
boolean
enableScanInQuery
Permitir el examen en las consultas que no se pudieron servir como indexación se ha rechazado en las rutas de acceso solicitadas. Valor predeterminado: false
En general, es mejor evitar el uso de esta configuración. Los exámenes son relativamente costosos y tardan mucho tiempo en servirse.
enableScanInQuery?: boolean
Valor de propiedad
boolean
forceQueryPlan
Esta configuración obliga a la consulta a usar un plan de consulta. Valor predeterminado: false
Nota: esto deshabilitará la compatibilidad con tokens de continuación, incluso para consultas de partición única.
En el caso de consultas como agregados y la mayoría de las consultas entre particiones, esto sucede de todos modos. Sin embargo, dado que la biblioteca no sabe qué tipo de consulta es hasta que se devuelve la primera respuesta, algunas optimizaciones no pueden ocurrir hasta más adelante.
Si esta configuración está habilitada, forzará el plan de consulta para la consulta, lo que guardará algunas solicitudes de red y garantizará que se pueda producir paralelismo. Resulta útil cuando sabe que está realizando consultas entre particiones o agregados.
forceQueryPlan?: boolean
Valor de propiedad
boolean
maxDegreeOfParallelism
Número máximo de operaciones simultáneas que ejecutan el lado cliente durante la ejecución de consultas paralelas en el servicio de base de datos de Azure Cosmos DB. Los valores negativos hacen que el sistema decida automáticamente el número de operaciones simultáneas que se van a ejecutar. Valor predeterminado: 0 (sin paralelismo)
maxDegreeOfParallelism?: number
Valor de propiedad
number
maxItemCount
Número máximo de elementos que se van a devolver en la operación de enumeración. Valor predeterminado: no definido (el servidor definirá la carga)
La expiración con este valor normalmente puede dar lugar a los cambios de rendimiento más importantes en la consulta.
Cuanto menor sea el recuento de elementos, cuanto más rápido se entregue el primer resultado (para los no agregados). Para cantidades mayores, tardará más tiempo en atender la solicitud, pero normalmente obtendrá un mejor rendimiento para las consultas grandes (es decir, si necesita 1000 elementos antes de poder realizar cualquier otra acción, establezca maxItemCount
en 1000. Si puede empezar a realizar el trabajo después de los primeros 100, establezca maxItemCount
en 100).
maxItemCount?: number
Valor de propiedad
number
partitionKey
Limita la consulta a una clave de partición específica. Valor predeterminado: sin definir
El ámbito de una consulta en una sola partición se puede lograr de dos maneras:
container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray()
container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()
El primero es útil cuando el cuerpo de la consulta está fuera del control, pero todavía desea restringirlo a una sola partición. Ejemplo: una consulta especificada por el usuario final.
partitionKey?: PartitionKey
Valor de propiedad
populateIndexMetrics
Habilite la devolución de métricas de índice en encabezados de respuesta. Valor predeterminado: false
populateIndexMetrics?: boolean
Valor de propiedad
boolean
populateQueryMetrics
Habilite la devolución de métricas de consulta en encabezados de respuesta. Valor predeterminado: false
Se usa para depurar consultas lentas o costosas. También aumenta el tamaño de respuesta y, si usa un tamaño de encabezado máximo bajo en Node.js, puede encontrarse con problemas más rápidos.
populateQueryMetrics?: boolean
Valor de propiedad
boolean
useIncrementalFeed
Nota: considere la posibilidad de usar changeFeed en su lugar.
Indica una solicitud de fuente de cambios. Debe establecerse en "Fuente incremental" o omitirse de lo contrario. Valor predeterminado: false
useIncrementalFeed?: boolean
Valor de propiedad
boolean
vectorSearchBufferSize
Especifica un tamaño de búfer máximo personalizado para almacenar los resultados finales para las consultas nonStreamingOrderBy. Este valor se omite si la consulta incluye cláusulas top/offset+limit.
vectorSearchBufferSize?: number
Valor de propiedad
number
Detalles de las propiedades heredadas
abortSignal
abortSignal para pasar a todas las solicitudes de red subyacentes creadas por esta llamada de método. Consulte https://developer.mozilla.org/en-US/docs/Web/API/AbortController
de ejemplo de
Cancelación de una solicitud de lectura
const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
abortSignal?: AbortSignal
Valor de propiedad
AbortSignal
Heredado deSharedOptions.abortSignal
bypassIntegratedCache
Establece si se debe omitir o habilitar la caché integrada para la solicitud en el servicio Azure CosmosDB.
El valor predeterminado es false. De forma predeterminada, la caché integrada está habilitada
bypassIntegratedCache?: boolean
Valor de propiedad
boolean
heredado desharedOptions.bypassIntegratedCache
initialHeaders
(Caso de uso avanzado) Encabezados iniciales con los que empezar al enviar solicitudes a Cosmos
initialHeaders?: CosmosHeaders
Valor de propiedad
Heredado deSharedOptions.initialHeaders
maxIntegratedCacheStalenessInMs
Establece el valor de obsolescencia asociado a la solicitud en el servicio Azure CosmosDB. En el caso de las solicitudes en las que el <xref:com.azure.cosmos.ConsistencyLevel> es <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> o <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, se garantiza que las respuestas de la caché integrada no sean obsoletas que el valor indicado por este maxIntegratedCacheStaleness. Cuando no se establece el nivel de coherencia, esta propiedad se omite.
El valor predeterminado es NULL
La obsolescencia de caché se admite en granularidad de milisegundos. Se omitirá cualquier cosa menor que milisegundos.
maxIntegratedCacheStalenessInMs?: number
Valor de propiedad
number
priorityLevel
Nivel de prioridad (bajo/alto) para cada solicitud. Las solicitudes de prioridad baja siempre se limitan antes de las solicitudes de prioridad alta.
El valor predeterminado es NULL. De forma predeterminada, todas las solicitudes son de prioridad alta
priorityLevel?: PriorityLevel
Valor de propiedad
se hereda desharedOptions.priorityLevel
sessionToken
Habilita o deshabilita la obtención de estadísticas relacionadas con la cuota de contenedor de documentos para las solicitudes de lectura del contenedor de documentos.
sessionToken?: string
Valor de propiedad
string
heredado desharedOptions.sessionToken