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. 이 트랜잭션의 일관성 모드입니다. 설정하지 않으면 기본값은 strong consistency입니다. consistency_selector은 다음 중 하나여야 합니다.
transaction

string (bytes format)

이미 활성 상태인 트랜잭션 내에서 쿼리를 실행합니다.

이 값은 쿼리를 실행할 불투명한 트랜잭션 ID입니다.

base64 인코딩 문자열입니다.

newTransaction

object (TransactionOptions)

새 트랜잭션을 시작하고 문서를 읽습니다. 기본값은 읽기 전용 트랜잭션입니다. 새 트랜잭션 ID가 스트림의 첫 번째 응답으로 반환됩니다.

readTime

string (Timestamp format)

지정된 시점의 문서를 읽습니다.

지난 1시간 이내의 마이크로초 정밀도 타임스탬프여야 합니다. 또는 PITR(point-in-time recovery)이 사용 설정된 경우 지난 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가 제공된 경우에만 존재하며 스트림의 마지막 응답과 함께 한 번만 전송됩니다.

통합 필드 continuation_selector. 쿼리의 연속 모드입니다. 있는 경우, 현재 쿼리 응답 스트림이 완료되었음을 나타냅니다. document 유무와 관계없이 설정할 수 있지만 설정하면 더 이상 결과가 반환되지 않습니다. continuation_selector은 다음 중 하나일 수 있습니다.
done

boolean

요청이 있으면 Firestore에서 요청을 완전히 완료했으며 더 이상 문서가 반환되지 않습니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

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

자세한 내용은 인증 개요를 참조하세요.