Esto actúa como DocumentMask sobre los documentos devueltos por una consulta. Cuando no está configurado, se supone que la persona que llama quiere que se le devuelvan todos los campos.
El orden que se aplicará a los resultados de la consulta.
Firestore permite a las personas que llaman proporcionar un pedido completo, un pedido parcial o ningún pedido en absoluto. En todos los casos, Firestore garantiza un pedido estable a través de las siguientes reglas:
orderBy es necesario para hacer referencia a todos los campos utilizados con un filtro de desigualdad.
Todos los campos que deben estar en orderBy pero que aún no están presentes se agregan en el orden lexicográfico del nombre del campo.
Si no se especifica una orden en __name__ , se agrega de forma predeterminada.
Los campos se añaden con la misma dirección de clasificación que el último orden especificado, o 'ASCENDENTE' si no se especificó ningún orden. Por ejemplo:
ORDER BY a se convierte en ORDER BY a ASC, __name__ ASC
ORDER BY a DESC se convierte en ORDER BY a DESC, __name__ DESC
WHERE a > 1 se convierte en WHERE a > 1 ORDER BY a ASC, __name__ ASC
WHERE __name__ > ... AND a > 1 se convierte WHERE __name__ > ... AND a > 1 ORDER BY a ASC, __name__ ASC
Un prefijo potencial de una posición en el conjunto de resultados para iniciar la consulta.
El orden del conjunto de resultados se basa en la cláusula ORDER BY de la consulta original.
SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, __name__ ASC;
Los resultados de esta consulta están ordenados por (b ASC, __name__ ASC) .
Los cursores pueden hacer referencia al orden completo o a un prefijo de la ubicación, aunque no pueden hacer referencia a más campos que los que se encuentran en el ORDER BY proporcionado.
Siguiendo con el ejemplo anterior, adjuntar los siguientes cursores de inicio tendrá un impacto variable:
START BEFORE (2, /k/123) : inicie la consulta justo antes a = 1 AND b > 2 AND __name__ > /k/123 .
START AFTER (10) : inicie la consulta justo después a = 1 AND b > 10 .
A diferencia de OFFSET , que requiere escanear los primeros N resultados para omitir, un cursor de inicio permite que la consulta comience en una posición lógica. No es necesario que esta posición coincida con un resultado real; escaneará hacia adelante desde esta posición para encontrar el siguiente documento.
Requiere:
El número de valores no puede ser mayor que el número de campos especificados en la cláusula ORDER BY .
El ID de la colección. Cuando se configura, selecciona solo colecciones con este ID.
allDescendants
boolean
Cuando es falso, selecciona solo colecciones que son hijas inmediatas del parent especificado en el RunQueryRequest que lo contiene. Cuando es verdadero, selecciona todas las colecciones descendientes.
Filtrar
Un filtro.
Representación JSON
{// Union field filter_type can be only one of the following:"compositeFilter": {object (CompositeFilter)},"fieldFilter": {object (FieldFilter)},"unaryFilter": {object (UnaryFilter)}// End of list of possible types for union field filter_type.}
Campos
Campo de unión filter_type . El tipo de filtro. filter_type puede ser solo uno de los siguientes:
Ningún otro NOT_EQUAL , NOT_IN , IS_NOT_NULL o IS_NOT_NAN .
Ese field ocupa el primer lugar en orderBy .
ARRAY_CONTAINS
El field dado es una matriz que contiene el value dado.
IN
El field dado es igual a al menos un valor en la matriz dada.
Requiere:
Ese value es un ArrayValue no vacío, sujeto a límites de disyunción.
No hay filtros NOT_IN en la misma consulta.
ARRAY_CONTAINS_ANY
El field dado es una matriz que contiene cualquiera de los valores de la matriz dada.
Requiere:
Ese value es un ArrayValue no vacío, sujeto a límites de disyunción.
No hay otros filtros ARRAY_CONTAINS_ANY dentro de la misma disyunción.
No hay filtros NOT_IN en la misma consulta.
NOT_IN
El valor del field no está en la matriz dada.
Requiere:
Ese value es un ArrayValue no vacío con como máximo 10 valores.
Ningún otro OR , IN , ARRAY_CONTAINS_ANY , NOT_IN , NOT_EQUAL , IS_NOT_NULL o IS_NOT_NAN .
Ese field ocupa el primer lugar en orderBy .
Filtro unario
Un filtro con un solo operando.
Representación JSON
{"op": enum (Operator),// Union field operand_type can be only one of the following:"field": {object (FieldReference)}// End of list of possible types for union field operand_type.}
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Me falta la información que necesito","missingTheInformationINeed","thumb-down"],["Es demasiado complicado o hay demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Está obsoleto","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema de muestras o código","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2023-12-01 (UTC)."],[],[]]