Method: projects.databases.documents.runQuery

Runs a query.

HTTP request

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

The URL uses Google API HTTP annotation syntax.

Path parameters

Parameters
parent

string

The parent resource name. In the format: projects/{projectId}/databases/{databaseId}/documents or projects/{projectId}/databases/{databaseId}/documents/{document_path}. For example: projects/my-project/databases/my-database/documents or projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

Request body

The request body contains data with the following structure:

JSON representation
{
  "structuredQuery": {
    object(StructuredQuery)
  },

  // 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.
}
Fields
structuredQuery

object(StructuredQuery)

A structured query.

Union field consistency_selector. The consistency mode for this transaction. If not set, defaults to strong consistency. consistency_selector can be only one of the following:
transaction

string (bytes format)

Reads documents in a transaction.

A base64-encoded string.

newTransaction

object(TransactionOptions)

Starts a new transaction and reads the documents. Defaults to a read-only transaction. The new transaction ID will be returned as the first response in the stream.

readTime

string (Timestamp format)

Reads documents as they were at the given time. This may not be older than 60 seconds.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

Response body

If successful, the response body contains data with the following structure:

The response for Firestore.RunQuery.

JSON representation
{
  "transaction": string,
  "document": {
    object(Document)
  },
  "readTime": string,
  "skippedResults": number,
}
Fields
transaction

string (bytes format)

The transaction that was started as part of this request. Can only be set in the first response, and only if RunQueryRequest.new_transaction was set in the request. If set, no other fields will be set in this response.

A base64-encoded string.

document

object(Document)

A query result. Not set when reporting partial progress.

readTime

string (Timestamp format)

The time at which the document was read. This may be monotonically increasing; in this case, the previous documents in the result stream are guaranteed not to have changed between their readTime and this one.

If the query returns no results, a response with readTime and no document will be sent, and this represents the time at which the query was run.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

skippedResults

number

The number of results that have been skipped due to an offset between the last response and the current response.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Auth Guide.

Was this page helpful? Let us know how we did: