Method: projects.databases.documents.runQuery

Ejecuta una consulta.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta de acceso

Parámetros
parent

string

Obligatorio. El nombre del recurso superior. 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
{
  "explainOptions": {
    object (ExplainOptions)
  },

  // 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
explainOptions

object (ExplainOptions)

Opcional. Explica las opciones para la consulta. Si se configura, se mostrarán estadísticas de consulta adicionales. De lo contrario, solo se mostrarán los resultados de la consulta.

Campo de unión query_type. La consulta que se ejecutará. Las direcciones (query_type) solo pueden ser una de las siguientes opciones:
structuredQuery

object (StructuredQuery)

Una consulta estructurada.

Campo de unión consistency_selector. El modo de coherencia para esta transacción. Si no está configurado, se establece de forma predeterminada para una coherencia sólida. Las direcciones (consistency_selector) solo pueden ser una de las siguientes opciones:
transaction

string (bytes format)

Ejecuta la consulta dentro de una transacción que ya esté activa.

El valor aquí es el ID de transacción opaco en el que se ejecutará la consulta.

String codificada en base64.

newTransaction

object (TransactionOptions)

Inicia una nueva transacción y lee los documentos. La configuración predeterminada es una transacción de solo lectura. El nuevo ID de transacción se mostrará como la primera respuesta en la transmisión.

readTime

string (Timestamp format)

Lee los documentos tal como estaban en el momento indicado.

Debe ser una marca de tiempo con precisión de microsegundos dentro de la última hora o, si está habilitada la recuperación de un momento determinado, 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 “Zulú”, 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 la respuesta

La respuesta para Firestore.RunQuery.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "transaction": string,
  "document": {
    object (Document)
  },
  "readTime": string,
  "skippedResults": integer,
  "explainMetrics": {
    object (ExplainMetrics)
  },

  // 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)

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

String codificada en base64.

document

object (Document)

Un resultado de consulta, no establecido cuando se informa el progreso parcial

readTime

string (Timestamp format)

Es la hora a la que se leyó el documento. Esto puede aumentar de forma monótona. En este caso, se garantiza que los documentos anteriores del flujo de resultados no cambiaron entre su readTime y este.

Si la consulta no muestra resultados, se enviará una respuesta con readTime y sin document, que representa la hora en la que se ejecutó la consulta.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, 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

La cantidad de resultados que se omitieron debido a un desplazamiento entre la última respuesta y la respuesta actual.

explainMetrics

object (ExplainMetrics)

Métricas de explicación de consultas Esto solo está presente cuando se proporciona el RunQueryRequest.explain_options y se envía solo una vez con la última respuesta del flujo.

Campo de unión continuation_selector. El modo de continuación para la consulta. Si está presente, indica que finalizó la transmisión de respuesta de la consulta actual. Se puede configurar con o sin un document presente, pero cuando se configura, no se muestran más resultados. continuation_selector puede ser solo uno de los siguientes:
done

boolean

Si está presente, Firestore completó la solicitud y no se mostrarán más documentos.

Permisos de autorización

Se necesita uno de los siguientes alcances de OAuth:

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

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