Method: projects.databases.documents.runQuery

Ejecuta una consulta.

solicitud HTTP

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

La URL utiliza la sintaxis de transcodificación gRPC .

Parámetros de ruta

Parámetros
parent

string

Requerido. El nombre del recurso principal. En el formato: projects/{projectId}/databases/{databaseId}/documents o projects/{projectId}/databases/{databaseId}/documents/{document_path} . Por ejemplo: projects/my-project/databases/my-database/documents o projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación 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ón query_type . La consulta a ejecutar. query_type puede ser solo uno de los siguientes:
structuredQuery

object ( StructuredQuery )

Una consulta estructurada.

consistency_selector del campo de unión. El modo de coherencia para esta transacción. Si no se establece, el valor predeterminado es una coherencia fuerte. consistency_selector puede ser sólo uno de los siguientes:
transaction

string ( bytes format)

Ejecute la consulta dentro de una transacción ya activa.

El valor aquí es el ID de transacción opaco para ejecutar la consulta.

Una cadena codificada en base64.

newTransaction

object ( TransactionOptions )

Inicia una nueva transacción y lee los documentos. El valor predeterminado es una transacción de solo lectura. El nuevo ID de transacción se devolverá como primera respuesta en la secuencia.

readTime

string ( Timestamp format)

Lee documentos tal como estaban en el momento dado.

Debe ser una marca de tiempo con precisión de microsegundos dentro de la última hora o, si la recuperación de un punto en el tiempo está habilitada, también puede ser una marca de tiempo de un minuto completo dentro de los últimos 7 días.

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

Cuerpo de respuesta

La respuesta para Firestore.RunQuery .

Si tiene éxito, el cuerpo de la respuesta contiene datos con la siguiente estructura:

Representación 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)

La transacción que se inició como parte de esta solicitud. Solo se puede configurar en la primera respuesta y solo si RunQueryRequest.new_transaction se configuró en la solicitud. Si se establece, no se establecerán otros campos en esta respuesta.

Una cadena codificada en base64.

document

object ( Document )

Un resultado de consulta, no establecido al informar el progreso parcial.

readTime

string ( Timestamp format)

Hora a la que se leyó el documento. Esto puede estar aumentando monótonamente; en este caso, se garantiza que los documentos anteriores en el flujo de resultados no habrán cambiado entre su readTime y este.

Si la consulta no arroja resultados, se enviará una respuesta con readTime y ningún document , y esto representa el momento en que se ejecutó la consulta.

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

skippedResults

integer

El número de resultados que se han omitido debido a un desplazamiento entre la última respuesta y la respuesta actual.

Campo de unión continuation_selector . El modo de continuación de la consulta. Si está presente, indica que el flujo de respuesta de la consulta actual ha finalizado. Esto se puede configurar con o sin un document presente, pero cuando se configura, no se devuelven más resultados. continuation_selector puede ser solo uno de los siguientes:
done

boolean

Si está presente, Firestore ha finalizado completamente la solicitud y no se devolverán más documentos.

Ámbitos de autorización

Requiere uno de los siguientes ámbitos de OAuth:

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

Para obtener más información, consulte Descripción general de la autenticación .