Method: projects.databases.documents.runQuery

Executa uma consulta.

Solicitação HTTP

POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:runQuery

A URL usa sintaxe de transcodificação gRPC .

Parâmetros de caminho

Parâmetros
parent

string

Obrigatório. O nome do recurso pai. No formato: projects/{projectId}/databases/{databaseId}/documents ou projects/{projectId}/databases/{databaseId}/documents/{document_path} . Por exemplo: projects/my-project/databases/my-database/documents ou projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

Solicitar corpo

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{

  // Union field query_type can be only one of the following:
  "structuredQuery": {
    object (StructuredQuery)
  }
  // End of list of possible types for union field query_type.

  // Union field consistency_selector can be only one of the following:
  "transaction": string,
  "newTransaction": {
    object (TransactionOptions)
  },
  "readTime": string
  // End of list of possible types for union field consistency_selector.
}
Campos
Campo de união query_type . A consulta a ser executada. query_type pode ser apenas um dos seguintes:
structuredQuery

object ( StructuredQuery )

Uma consulta estruturada.

Campo de união consistency_selector . O modo de consistência para esta transação. Se não for definido, o padrão é consistência forte. consistency_selector pode ser apenas um dos seguintes:
transaction

string ( bytes format)

Execute a consulta em uma transação já ativa.

O valor aqui é o ID da transação opaca para executar a consulta.

Uma string codificada em base64.

newTransaction

object ( TransactionOptions )

Inicia uma nova transação e lê os documentos. O padrão é uma transação somente leitura. O novo ID da transação será retornado como a primeira resposta no stream.

readTime

string ( Timestamp format)

Lê documentos como eles estavam no momento determinado.

Deve ser um carimbo de data/hora com precisão de microssegundos da última hora ou, se a recuperação pontual estiver ativada, também pode ser um carimbo de hora de um minuto inteiro dos últimos 7 dias.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

Corpo de resposta

A resposta para Firestore.RunQuery .

Se for bem-sucedido, o corpo da resposta conterá dados com a seguinte estrutura:

Representação JSON
{
  "transaction": string,
  "document": {
    object (Document)
  },
  "readTime": string,
  "skippedResults": integer,

  // Union field continuation_selector can be only one of the following:
  "done": boolean
  // End of list of possible types for union field continuation_selector.
}
Campos
transaction

string ( bytes format)

A transação que foi iniciada como parte desta solicitação. Só pode ser definido na primeira resposta e somente se RunQueryRequest.new_transaction tiver sido definido na solicitação. Se definido, nenhum outro campo será definido nesta resposta.

Uma string codificada em base64.

document

object ( Document )

Um resultado de consulta, não definido ao relatar progresso parcial.

readTime

string ( Timestamp format)

A hora em que o documento foi lido. Isto pode estar aumentando monotonicamente; neste caso, é garantido que os documentos anteriores no fluxo de resultados não foram alterados entre seu readTime e este.

Se a consulta não retornar nenhum resultado, será enviada uma resposta com readTime e nenhum document , e isso representa o horário em que a consulta foi executada.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

skippedResults

integer

O número de resultados que foram ignorados devido a um deslocamento entre a última resposta e a resposta atual.

Campo de união continuation_selector . O modo de continuação da consulta. Se presente, indica que o fluxo de resposta da consulta atual foi concluído. Isto pode ser definido com ou sem a presença de um document , mas quando definido, nenhum outro resultado será retornado. continuation_selector pode ser apenas um dos seguintes:
done

boolean

Se presente, o Firestore concluiu totalmente a solicitação e nenhum outro documento será devolvido.

Escopos de autorização

Requer um dos seguintes escopos OAuth:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Para obter mais informações, consulte Visão geral da autenticação .