Method: projects.databases.documents.runQuery

Выполняет запрос.

HTTP-запрос

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

URL-адрес использует синтаксис транскодирования gRPC .

Параметры пути

Параметры
parent

string

Необходимый. Имя родительского ресурса. В формате: projects/{projectId}/databases/{databaseId}/documents или projects/{projectId}/databases/{databaseId}/documents/{document_path} . Например: projects/my-project/databases/my-database/documents или projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

Тело запроса

Тело запроса содержит данные следующей структуры:

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.
}
Поля
explainOptions

object ( ExplainOptions )

Необязательный. Объясните варианты запроса. Если установлено, будет возвращена дополнительная статистика запросов. В противном случае будут возвращены только результаты запроса.

Поле объединения query_type . Запрос для выполнения. query_type может быть только одним из следующих:
structuredQuery

object ( StructuredQuery )

Структурированный запрос.

Объединённое поле consistency_selector . Режим согласованности для этой транзакции. Если не установлено, по умолчанию используется строгая согласованность. consistency_selector может быть только одним из следующих:
transaction

string ( bytes format)

Запустите запрос в рамках уже активной транзакции.

Значением здесь является непрозрачный идентификатор транзакции, в которой будет выполнен запрос.

Строка в кодировке Base64.

newTransaction

object ( TransactionOptions )

Начинает новую транзакцию и читает документы. По умолчанию используется транзакция только для чтения. Новый идентификатор транзакции будет возвращен в качестве первого ответа в потоке.

readTime

string ( Timestamp format)

Читает документы в том виде, в каком они были на данный момент.

Это должна быть временная метка с точностью до микросекунды за последний час или, если включено восстановление на определенный момент времени, дополнительно может быть временная метка с точностью до целой минуты за последние 7 дней.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

Тело ответа

Ответ на Firestore.RunQuery .

В случае успеха тело ответа содержит данные следующей структуры:

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.
}
Поля
transaction

string ( bytes format)

Транзакция, которая была запущена в рамках этого запроса. Может быть задано только в первом ответе и только в том случае, если в запросе был установлен RunQueryRequest.new_transaction . Если установлено, в этом ответе не будут заданы никакие другие поля.

Строка в кодировке Base64.

document

object ( Document )

Результат запроса, не заданный при сообщении о частичном ходе выполнения.

readTime

string ( Timestamp format)

Время чтения документа. Это может быть монотонно возрастающим; в этом случае предыдущие документы в потоке результатов гарантированно не изменятся между их readTime и этим.

Если запрос не возвращает результатов, будет отправлен ответ с readTime и document не будет, что представляет собой время выполнения запроса.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

skippedResults

integer

Количество результатов, которые были пропущены из-за смещения между последним ответом и текущим ответом.

explainMetrics

object ( ExplainMetrics )

Метрики объяснения запроса. Он присутствует только в том случае, если указан RunQueryRequest.explain_options , и отправляется только один раз вместе с последним ответом в потоке.

Поле объединения continuation_selector . Режим продолжения запроса. Если он присутствует, это указывает на то, что текущий поток ответов на запрос завершен. Его можно установить как при наличии document , так и без него, но если он установлен, результаты больше не возвращаются. continuation_selector может быть только одним из следующих:
done

boolean

Если он присутствует, Firestore полностью выполнил запрос и документы больше не возвращаются.

Области авторизации

Требуется одна из следующих областей OAuth:

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

Для получения дополнительной информации см. Обзор аутентификации .