StructuredQuery
Uma consulta do Firestore.
Representação JSON |
---|
{
"select": {
object (Projection )
},
"from": [
{
object (CollectionSelector )
}
],
"where": {
object (Filter )
},
"orderBy": [
{
object (Order )
}
],
"startAt": {
object (Cursor )
},
"endAt": {
object (Cursor )
},
"offset": integer,
"limit": integer
} |
Campos |
---|
select | object ( Projection ) Subconjunto opcional dos campos a serem retornados. Isso atua como uma DocumentMask sobre os documentos retornados de uma consulta. Quando não definido, assume que o chamador deseja que todos os campos sejam retornados. |
from[] | object ( CollectionSelector ) As coleções a serem consultadas. |
where | object ( Filter ) O filtro a ser aplicado. |
orderBy[] | object ( Order ) A ordem a ser aplicada aos resultados da consulta. O Firestore permite que os chamadores forneçam um pedido completo, um pedido parcial ou nenhum pedido. Em todos os casos, o Firestore garante um pedido estável através das seguintes regras: - O
orderBy é necessário para fazer referência a todos os campos usados com um filtro de desigualdade. - Todos os campos que precisam estar em
orderBy , mas que ainda não estão presentes, são anexados na ordem lexicográfica do nome do campo. - Se um pedido em
__name__ não for especificado, ele será anexado por padrão.
Os campos são anexados com a mesma direção de classificação da última ordem especificada ou 'CRESCENTE' se nenhuma ordem foi especificada. Por exemplo: -
ORDER BY a torna-se ORDER BY a ASC, __name__ ASC -
ORDER BY a DESC torna-se ORDER BY a DESC, __name__ DESC -
WHERE a > 1 torna-se WHERE a > 1 ORDER BY a ASC, __name__ ASC -
WHERE __name__ > ... AND a > 1 torna-se WHERE __name__ > ... AND a > 1 ORDER BY a ASC, __name__ ASC
|
startAt | object ( Cursor ) Um prefixo potencial de uma posição no conjunto de resultados para iniciar a consulta. A ordem do conjunto de resultados é baseada na cláusula ORDER BY da consulta original. SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, __name__ ASC;
Os resultados desta consulta são ordenados por (b ASC, __name__ ASC) . Os cursores podem fazer referência à ordem completa ou a um prefixo do local, embora não possam fazer referência a mais campos do que os que estão no ORDER BY fornecido. Continuando com o exemplo acima, anexar os seguintes cursores iniciais terá impactos variados: -
START BEFORE (2, /k/123) : inicia a consulta logo antes a = 1 AND b > 2 AND __name__ > /k/123 . -
START AFTER (10) : inicia a consulta logo após a = 1 AND b > 10 .
Ao contrário OFFSET , que requer a varredura dos primeiros N resultados para pular, um cursor inicial permite que a consulta comece em uma posição lógica. Esta posição não é necessária para corresponder a um resultado real; ela avançará a partir desta posição para encontrar o próximo documento. Requer: - O número de valores não pode ser maior que o número de campos especificado na cláusula
ORDER BY .
|
endAt | object ( Cursor ) Um prefixo potencial de uma posição no conjunto de resultados para encerrar a consulta. Isso é semelhante a START_AT , mas controla a posição final em vez da posição inicial. Requer: - O número de valores não pode ser maior que o número de campos especificado na cláusula
ORDER BY .
|
offset | integer O número de documentos a serem ignorados antes de retornar o primeiro resultado. Isso se aplica após as restrições especificadas por WHERE , START AT e END AT mas antes da cláusula LIMIT . Requer: - O valor deve ser maior ou igual a zero, se especificado.
|
limit | integer O número máximo de resultados a serem retornados. Aplica-se após todas as outras restrições. Requer: - O valor deve ser maior ou igual a zero, se especificado.
|
Projeção
A projeção dos campos do documento a serem retornados.
Campos |
---|
fields[] | object ( FieldReference ) Os campos a serem retornados. Se estiver vazio, todos os campos serão retornados. Para retornar apenas o nome do documento, use ['__name__'] . |
Seletor de coleção
Uma seleção de uma coleção, como messages as m1
.
Representação JSON |
---|
{
"collectionId": string,
"allDescendants": boolean
} |
Campos |
---|
collectionId | string O ID da coleção. Quando definido, seleciona apenas coleções com este ID. |
allDescendants | boolean Quando falso, seleciona apenas coleções que são filhos imediatos do parent especificado no RunQueryRequest que o contém. Quando verdadeiro, seleciona todas as coleções descendentes. |
Filtro
Representação 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ão filter_type . O tipo de filtro. filter_type pode ser apenas um dos seguintes: |
compositeFilter | object ( CompositeFilter ) Um filtro composto. |
fieldFilter | object ( FieldFilter ) Um filtro em um campo de documento. |
unaryFilter | object ( UnaryFilter ) Um filtro que aceita exatamente um argumento. |
Filtro Composto
Um filtro que mescla vários outros filtros usando o operador fornecido.
Representação JSON |
---|
{
"op": enum (Operator ),
"filters": [
{
object (Filter )
}
]
} |
Campos |
---|
op | enum ( Operator ) O operador para combinar vários filtros. |
filters[] | object ( Filter ) A lista de filtros a serem combinados. Requer: - Pelo menos um filtro está presente.
|
Operador
Um operador de filtro composto.
Enums |
---|
OPERATOR_UNSPECIFIED | Não especificado. Este valor não deve ser usado. |
AND | Os documentos são necessários para satisfazer todos os filtros combinados. |
OR | Os documentos são obrigados a satisfazer pelo menos um dos filtros combinados. |
Filtro de campo
Um filtro em um campo específico.
Campos |
---|
field | object ( FieldReference ) O campo pelo qual filtrar. |
op | enum ( Operator ) O operador pelo qual filtrar. |
value | object ( Value ) O valor com o qual comparar. |
Operador
Um operador de filtro de campo.
Enums |
---|
OPERATOR_UNSPECIFIED | Não especificado. Este valor não deve ser usado. |
LESS_THAN | O field fornecido é menor que o value fornecido. Requer: - Esse
field vem primeiro em orderBy .
|
LESS_THAN_OR_EQUAL | O field fornecido é menor ou igual ao value fornecido. Requer: - Esse
field vem primeiro em orderBy .
|
GREATER_THAN | O field fornecido é maior que o value fornecido. Requer: - Esse
field vem primeiro em orderBy .
|
GREATER_THAN_OR_EQUAL | O field fornecido é maior ou igual ao value fornecido. Requer: - Esse
field vem primeiro em orderBy .
|
EQUAL | O field fornecido é igual ao value fornecido. |
NOT_EQUAL | O field fornecido não é igual ao value fornecido. Requer: - Nenhum outro
NOT_EQUAL , NOT_IN , IS_NOT_NULL ou IS_NOT_NAN . - Esse
field vem primeiro no orderBy .
|
ARRAY_CONTAINS | O field fornecido é uma matriz que contém o value fornecido. |
IN | O field fornecido é igual a pelo menos um valor na matriz fornecida. Requer: - Esse
value é um ArrayValue não vazio, sujeito a limites de disjunção. - Nenhum filtro
NOT_IN na mesma consulta.
|
ARRAY_CONTAINS_ANY | O field fornecido é uma matriz que contém qualquer um dos valores da matriz fornecida. Requer: - Esse
value é um ArrayValue não vazio, sujeito a limites de disjunção. - Nenhum outro filtro
ARRAY_CONTAINS_ANY na mesma disjunção. - Nenhum filtro
NOT_IN na mesma consulta.
|
NOT_IN | O valor do field não está na matriz fornecida. Requer: - Esse
value é um ArrayValue não vazio com no máximo 10 valores. - Nenhum outro
OR , IN , ARRAY_CONTAINS_ANY , NOT_IN , NOT_EQUAL , IS_NOT_NULL ou IS_NOT_NAN . - Esse
field vem primeiro no orderBy .
|
Filtro Unário
Um filtro com um único operando.
Representação 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 .
} |
Campos |
---|
op | enum ( Operator ) O operador unário a ser aplicado. |
Campo de união operand_type . O argumento para o filtro. operand_type pode ser apenas um dos seguintes: |
field | object ( FieldReference ) O campo ao qual aplicar o operador. |
Operador
Enums |
---|
OPERATOR_UNSPECIFIED | Não especificado. Este valor não deve ser usado. |
IS_NAN | O field fornecido é igual a NaN . |
IS_NULL | O field fornecido é igual a NULL . |
IS_NOT_NAN | O field fornecido não é igual a NaN . Requer: - Nenhum outro
NOT_EQUAL , NOT_IN , IS_NOT_NULL ou IS_NOT_NAN . - Esse
field vem primeiro no orderBy .
|
IS_NOT_NULL | O field fornecido não é igual a NULL . Requer: - Um único
NOT_EQUAL , NOT_IN , IS_NOT_NULL ou IS_NOT_NAN . - Esse
field vem primeiro no orderBy .
|
Ordem
Campos |
---|
field | object ( FieldReference ) O campo pelo qual ordenar. |
direction | enum ( Direction ) A direção para fazer o pedido. O padrão é ASCENDING . |
Direção
Uma direção de classificação.
Enums |
---|
DIRECTION_UNSPECIFIED | Não especificado. |
ASCENDING | Ascendente. |
DESCENDING | Descendente. |
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2023-12-01 UTC.
[null,null,["Última atualização 2023-12-01 UTC."],[],[]]