Method: projects.databases.documents.runQuery

クエリを実行します。

HTTP リクエスト

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

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
parent

string

必須。親リソース名。形式は projects/{projectId}/databases/{databaseId}/documents または projects/{projectId}/databases/{databaseId}/documents/{document_path} です。例: projects/my-project/databases/my-database/documentsprojects/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)

すでにアクティブなトランザクション内でクエリを実行します。

この値は、クエリを実行する不透明なトランザクション ID です。

Base64 でエンコードされた文字列。

newTransaction

object (TransactionOptions)

新しいトランザクションを開始し、ドキュメントを読み取ります。デフォルトは読み取り専用トランザクションです。新しい取引 ID が、ストリームの最初のレスポンスとして返されます。

readTime

string (Timestamp format)

ドキュメントを指定された時点の状態として読み取ります。

これは、過去 1 時間以内のマイクロ秒精度のタイムスタンプである必要があります。ポイントインタイム リカバリが有効になっている場合は、過去 7 日間の 1 分単位のタイムスタンプでも構いません。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "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「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

skippedResults

integer

最後のレスポンスと現在のレスポンスの間のオフセットによりスキップされた結果の数。

explainMetrics

object (ExplainMetrics)

クエリ説明指標をクエリします。これは RunQueryRequest.explain_options が指定されている場合のみ存在し、ストリームの最後のレスポンスで 1 回だけ送信されます。

共用体フィールド continuation_selector。クエリの継続モード。存在する場合は、現在のクエリ レスポンス ストリームが終了したことを示します。document の有無にかかわらず設定できますが、設定するとこれ以上結果は返されません。continuation_selector は次のいずれかになります。
done

boolean

存在する場合、Firestore はリクエストを完全に終了しており、これ以上ドキュメントは返されません。

認可スコープ

以下のいずれかの OAuth スコープが必要です。

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

詳細については、認証の概要をご覧ください。