색인
Firestore
(인터페이스)AggregationResult
(메시지)ArrayValue
(메시지)BatchGetDocumentsRequest
(메시지)BatchGetDocumentsResponse
(메시지)BatchWriteRequest
(메시지)BatchWriteResponse
(메시지)BeginTransactionRequest
(메시지)BeginTransactionResponse
(메시지)BitSequence
(메시지)BloomFilter
(메시지)CommitRequest
(메시지)CommitResponse
(메시지)CreateDocumentRequest
(메시지)Cursor
(메시지)DeleteDocumentRequest
(메시지)Document
(메시지)DocumentChange
(메시지)DocumentDelete
(메시지)DocumentMask
(메시지)DocumentRemove
(메시지)DocumentTransform
(메시지)DocumentTransform.FieldTransform
(메시지)DocumentTransform.FieldTransform.ServerValue
(열거형)ExecutionStats
(메시지)ExistenceFilter
(메시지)ExplainMetrics
(메시지)ExplainOptions
(메시지)GetDocumentRequest
(메시지)ListCollectionIdsRequest
(메시지)ListCollectionIdsResponse
(메시지)ListDocumentsRequest
(메시지)ListDocumentsResponse
(메시지)ListenRequest
(메시지)ListenResponse
(메시지)MapValue
(메시지)PartitionQueryRequest
(메시지)PartitionQueryResponse
(메시지)PlanSummary
(메시지)Precondition
(메시지)RollbackRequest
(메시지)RunAggregationQueryRequest
(메시지)RunAggregationQueryResponse
(메시지)RunQueryRequest
(메시지)RunQueryResponse
(메시지)StructuredAggregationQuery
(메시지)StructuredAggregationQuery.Aggregation
(메시지)StructuredAggregationQuery.Aggregation.Avg
(메시지)StructuredAggregationQuery.Aggregation.Count
(메시지)StructuredAggregationQuery.Aggregation.Sum
(메시지)StructuredQuery
(메시지)StructuredQuery.CollectionSelector
(메시지)StructuredQuery.CompositeFilter
(메시지)StructuredQuery.CompositeFilter.Operator
(열거형)StructuredQuery.Direction
(열거형)StructuredQuery.FieldFilter
(메시지)StructuredQuery.FieldFilter.Operator
(열거형)StructuredQuery.FieldReference
(메시지)StructuredQuery.Filter
(메시지)StructuredQuery.FindNearest
(메시지)StructuredQuery.FindNearest.DistanceMeasure
(열거형)StructuredQuery.Order
(메시지)StructuredQuery.Projection
(메시지)StructuredQuery.UnaryFilter
(메시지)StructuredQuery.UnaryFilter.Operator
(열거형)Target
(메시지)Target.DocumentsTarget
(메시지)Target.QueryTarget
(메시지)TargetChange
(메시지)TargetChange.TargetChangeType
(열거형)TransactionOptions
(메시지)TransactionOptions.ReadOnly
(메시지)TransactionOptions.ReadWrite
(메시지)UpdateDocumentRequest
(메시지)Value
(메시지)Write
(메시지)WriteRequest
(메시지)WriteResponse
(메시지)WriteResult
(메시지)
Firestore
Cloud Firestore 서비스
Cloud Firestore는 글로벌 규모의 모바일, 웹 및 IoT 앱용 데이터의 저장, 동기화, 쿼리를 간소화하는 클라우드 기반의 완전 관리형 서버리스 고속 NoSQL 문서 데이터베이스입니다. 클라이언트 라이브러리는 실시간 동기화와 오프라인 지원을 제공하며, 보안 기능과 Firebase 및 Google Cloud Platform과의 통합은 진정한 서버리스 앱 빌드를 가속화합니다.
BatchGetDocuments |
---|
여러 문서를 가져옵니다. 이 메서드에서 반환된 문서는 요청한 순서대로 반환되지 않을 수 있습니다.
|
일괄 쓰기 |
---|
쓰기 작업을 일괄 적용합니다. BatchWrite 메서드는 쓰기 작업을 원자적으로 적용하지 않으며 순서대로 적용할 수 있습니다. 메서드가 문서당 둘 이상의 쓰기를 허용하지 않습니다. 각 쓰기는 독립적으로 성공하거나 실패합니다. 각 쓰기의 성공 상태는 원자적으로 적용되는 쓰기 세트가 필요한 경우 대신
|
BeginTransaction |
---|
새 트랜잭션을 시작합니다.
|
커밋 |
---|
트랜잭션을 커밋하고 필요에 따라 문서를 업데이트합니다.
|
CreateDocument |
---|
새 문서를 만듭니다.
|
DeleteDocument |
---|
문서를 삭제합니다.
|
GetDocument |
---|
단일 문서를 가져옵니다.
|
ListCollectionId |
---|
문서 아래에 모든 컬렉션 ID를 나열합니다.
|
ListDocuments |
---|
문서를 나열합니다.
|
수신 대기 |
---|
변경사항을 리슨합니다. 이 방법은 gRPC 또는 웹 채널 (REST 아님)을 통해서만 사용할 수 있습니다.
|
PartitionQuery |
---|
쿼리를 병렬로 실행하는 데 사용할 수 있는 파티션 커서를 반환하여 쿼리의 파티션을 나눕니다. 반환된 파티션 커서는 RunQuery에서 쿼리 결과의 시작/종료 지점으로 사용할 수 있는 분할 지점입니다.
|
롤백 |
---|
트랜잭션을 롤백합니다.
|
RunAggregationQuery |
---|
집계 쿼리를 실행합니다. 이 API를 사용하면 대략적인 예:
|
쿼리 실행 |
---|
쿼리를 실행합니다.
|
UpdateDocument |
---|
문서를 업데이트하거나 삽입합니다.
|
Write |
---|
문서 업데이트 및 삭제 배치를 순서대로 스트리밍합니다. 이 메서드는 gRPC 또는 웹 채널 (REST 아님)을 통해서만 사용할 수 있습니다.
|
AggregationResult
Firestore 집계 쿼리의 단일 버킷 결과입니다.
결과마다 다른 필드가 있을 수 있는 문서 쿼리와 달리 aggregate_fields
의 키는 집계 쿼리의 모든 결과에서 동일합니다.
필드 | |
---|---|
aggregate_fields |
집계 함수의 결과입니다(예: 키는 입력 시 집계 함수에 할당된 |
ArrayValue
배열 값입니다.
필드 | |
---|---|
values[] |
배열의 값입니다. |
BatchGetDocumentsRequest
Firestore.BatchGetDocuments
의 요청입니다.
필드 | |
---|---|
database |
필수 항목입니다. 데이터베이스 이름입니다. 형식은 |
documents[] |
검색할 문서의 이름입니다. 형식은 |
mask |
반환할 필드입니다. 설정하지 않으면 모든 필드가 반환됩니다. 문서에 이 마스크에 없는 필드가 있으면 해당 필드는 응답으로 반환되지 않습니다. |
통합 필드 consistency_selector . 이 트랜잭션의 일관성 모드입니다. 설정하지 않으면 기본값은 strong consistency입니다. consistency_selector 은 다음 중 하나여야 합니다. |
|
transaction |
트랜잭션의 문서를 읽습니다. |
new_transaction |
새 트랜잭션을 시작하고 문서를 읽습니다. 기본값은 읽기 전용 트랜잭션입니다. 새 트랜잭션 ID가 스트림의 첫 번째 응답으로 반환됩니다. |
read_time |
지정된 시점의 문서를 읽습니다. 지난 1시간 이내의 마이크로초 정밀도 타임스탬프여야 합니다. 또는 PITR(point-in-time recovery)이 사용 설정된 경우 지난 7일 이내의 1분짜리 타임스탬프일 수도 있습니다. |
BatchGetDocumentsResponse
Firestore.BatchGetDocuments
의 스트리밍된 응답입니다.
필드 | |
---|---|
transaction |
이 요청의 일부로 시작된 트랜잭션입니다. 요청에서 |
read_time |
문서를 읽은 시간입니다. 이는 단조 증가할 수 있습니다. 이 경우 결과 스트림의 이전 문서가 read_time과 이 문서 간에 변경되지 않은 것이 보장됩니다. |
통합 필드 result . 단일 결과입니다. 서버가 트랜잭션을 반환하는 경우라면 비워 둘 수 있습니다. result 은 다음 중 하나여야 합니다. |
|
found |
요청된 문서입니다. |
missing |
요청했지만 존재하지 않는 문서 이름입니다. 형식은 |
BatchWriteRequest
Firestore.BatchWrite
의 요청입니다.
필드 | |
---|---|
database |
필수 항목입니다. 데이터베이스 이름입니다. 형식은 |
writes[] |
적용할 쓰기입니다. 메서드는 쓰기를 원자적으로 적용하지 않으며 순서를 보장하지 않습니다. 각 쓰기는 독립적으로 성공하거나 실패합니다. 동일한 문서에 요청당 두 번 이상 쓸 수 없습니다. |
labels |
이 일괄 쓰기와 연결된 라벨입니다. |
BatchWriteResponse
필드 | |
---|---|
write_results[] |
쓰기를 적용한 결과입니다. 이 i번째 쓰기 결과는 요청의 i번째 쓰기에 해당합니다. |
status[] |
쓰기 적용 상태입니다. 이 i번째 쓰기 상태는 요청의 i번째 쓰기에 해당합니다. |
BeginTransactionRequest
Firestore.BeginTransaction
의 요청입니다.
필드 | |
---|---|
database |
필수 항목입니다. 데이터베이스 이름입니다. 형식은 |
options |
거래 옵션입니다. 기본값은 읽기-쓰기 트랜잭션입니다. |
BeginTransactionResponse
Firestore.BeginTransaction
의 응답입니다.
필드 | |
---|---|
transaction |
시작된 트랜잭션입니다. |
비트 시퀀스
바이트 배열로 인코딩된 비트 시퀀스입니다.
bitmap
바이트 배열의 각 바이트는 시퀀스의 8비트를 저장합니다. 유일한 예외는 8비트 이하 비트를 저장할 수 있는 마지막 바이트입니다. padding
는 '패딩'으로 무시할 마지막 바이트의 비트 수를 정의합니다. 이러한 '패딩'의 값은 비트가 지정되지 않았으므로 무시해야 합니다.
첫 번째 비트 비트 0을 검색하려면 (bitmap[0] & 0x01) != 0
를 계산합니다. 두 번째 비트인 비트 1을 검색하려면 (bitmap[0] & 0x02) != 0
를 계산합니다. 세 번째 비트인 비트 2를 검색하려면 (bitmap[0] & 0x04) != 0
를 계산합니다. 네 번째 비트인 비트 3을 검색하려면 (bitmap[0] & 0x08) != 0
를 계산합니다. 비트 n을 검색하려면 (bitmap[n / 8] & (0x01 << (n % 8))) != 0
를 계산합니다.
'크기' BitSequence
(포함된 비트 수)의 값은 (bitmap.length * 8) - padding
공식으로 계산됩니다.
필드 | |
---|---|
bitmap |
비트 시퀀스를 인코딩하는 바이트입니다. 길이는 0일 수도 있습니다. |
padding |
'패딩'으로 무시할 |
블룸필터
꽃 필터 (https://en.wikipedia.org/wiki/Bloom_filter).
블룸(bloom) 필터는 MD5를 사용하여 엔트리를 해시하고, 그 결과로 생성된 128비트 해시를 2개의 고유한 64비트 해시 값으로 취급하여, 2의 보수 인코딩을 사용하여 부호 없는 정수로 해석합니다.
h1
와 h2
라는 이 두 해시 값은 i=0
에서 시작하는 수식을 사용하여 hash_count
해시 값을 계산하는 데 사용됩니다.
h(i) = h1 + (i * h2)
그런 다음 이러한 결과 값은 블룸 필터의 비트 수만큼 취하여 주어진 항목을 테스트할 블룸 필터의 비트를 가져옵니다.
필드 | |
---|---|
bits |
블룸 필터 데이터입니다. |
hash_count |
알고리즘에서 사용하는 해시 수입니다. |
CommitRequest
Firestore.Commit
의 요청입니다.
필드 | |
---|---|
database |
필수 항목입니다. 데이터베이스 이름입니다. 형식은 |
writes[] |
적용할 쓰기입니다. 항상 원자적으로 순서대로 실행됩니다. |
transaction |
설정되면 이 트랜잭션의 모든 쓰기를 적용하고 커밋합니다. |
CommitResponse
Firestore.Commit
의 응답입니다.
필드 | |
---|---|
write_results[] |
쓰기를 적용한 결과입니다. 이 i번째 쓰기 결과는 요청의 i번째 쓰기에 해당합니다. |
commit_time |
커밋이 발생한 시간입니다. |
CreateDocumentRequest
Firestore.CreateDocument
의 요청입니다.
필드 | |
---|---|
parent |
필수 항목입니다. 상위 리소스입니다. 예를 들면 |
collection_id |
필수 항목입니다. 나열할 컬렉션 ID( |
document_id |
이 문서에 사용할 클라이언트가 할당한 문서 ID입니다. 선택사항입니다. 지정하지 않으면 서비스에서 ID를 할당합니다. |
document |
필수 항목입니다. 만들 문서입니다. |
mask |
반환할 필드입니다. 설정하지 않으면 모든 필드가 반환됩니다. 문서에 이 마스크에 없는 필드가 있으면 해당 필드는 응답으로 반환되지 않습니다. |
커서
쿼리 결과 집합에서의 위치입니다.
필드 | |
---|---|
values[] |
쿼리의 order by 절에 나타나는 순서대로 위치를 나타내는 값입니다. order by 절에 지정된 것보다 적은 수의 값을 포함할 수 있습니다. |
before |
위치가 쿼리에서 정의한 정렬 순서를 기준으로 지정된 값의 바로 앞 또는 바로 뒤에 있는 경우 |
DeleteDocumentRequest
Firestore.DeleteDocument
의 요청입니다.
필드 | |
---|---|
name |
필수 항목입니다. 삭제할 문서의 리소스 이름입니다. 형식은 |
current_document |
문서의 전제 조건(선택사항)입니다. 이 값이 설정되고 대상 문서에서 충족되지 않으면 요청이 실패합니다. |
문서
Firestore 문서
1MiB에서 4바이트를 초과하면 안 됩니다.
필드 | |
---|---|
name |
문서의 리소스 이름입니다(예: |
fields |
|
create_time |
출력 전용입니다. 문서가 생성된 시간입니다. 이 값은 문서를 삭제한 다음 다시 만들면 일정하게 증가합니다. 또한 다른 문서의 값 및 쿼리의 |
update_time |
출력 전용입니다. 문서가 마지막으로 변경된 시간입니다. 이 값은 처음에 |
DocumentChange
Document
가 변경되었습니다.
삭제를 포함하여 궁극적으로 Document
에 새로운 값이 발생한 여러 writes
의 결과일 수 있습니다.
여러 타겟이 영향을 받는 경우 동일한 논리적 변경에 대해 여러 DocumentChange
메시지가 반환될 수 있습니다.
필드 | |
---|---|
document |
|
target_ids[] |
이 문서와 일치하는 타겟의 타겟 ID 집합입니다. |
removed_target_ids[] |
이 문서와 더 이상 일치하지 않는 타겟의 타겟 ID 집합입니다. |
문서 삭제
Document
이(가) 삭제되었습니다.
업데이트를 포함한 여러 writes
의 결과일 수 있으며, 마지막에서 Document
가 삭제된 결과일 수 있습니다.
여러 타겟이 영향을 받는 경우 동일한 논리적 삭제에 대해 여러 DocumentDelete
메시지가 반환될 수 있습니다.
필드 | |
---|---|
document |
삭제된 |
removed_target_ids[] |
이전에 이 항목과 일치했던 타겟의 타겟 ID 집합입니다. |
read_time |
삭제가 관찰된 읽기 타임스탬프입니다. 삭제 |
DocumentMask
문서의 필드 경로 집합입니다. 문서의 가져오기 또는 업데이트 작업을 필드 하위 집합으로 제한하는 데 사용됩니다. 이는 표준 필드 마스크와는 다릅니다. 항상 Document
로 범위가 지정되고 Value
의 동적 특성을 고려하기 때문입니다.
필드 | |
---|---|
field_paths[] |
마스크의 필드 경로 목록입니다. 필드 경로 구문 참조는 |
문서 삭제
Document
가 타겟 뷰에서 삭제되었습니다.
문서가 더 이상 대상과 관련이 없고 보이지 않으면 전송됩니다. 서버가 문서의 새 값을 보낼 수 없는 경우 DocumentDelete 또는 DocumentChange 대신 전송될 수 있습니다.
여러 타겟이 영향을 받는 경우 동일한 논리적 쓰기 또는 삭제에 대해 여러 DocumentRemove
메시지가 반환될 수 있습니다.
필드 | |
---|---|
document |
뷰에서 사라진 |
removed_target_ids[] |
이전에 이 문서와 일치했던 대상의 타겟 ID 집합입니다. |
read_time |
삭제가 관찰된 읽기 타임스탬프입니다. 변경/삭제/삭제의 |
DocumentTransform
문서의 변환입니다.
필드 | |
---|---|
document |
변환할 문서의 이름입니다. |
field_transforms[] |
문서의 필드에 적용할 변환 목록을 순서대로 표시합니다. 필수 입력란입니다. |
FieldTransform
문서의 필드 변환입니다.
필드 | |
---|---|
field_path |
필드의 경로입니다. 필드 경로 구문 참조는 |
통합 필드 transform_type . 필드에 적용할 변환입니다. transform_type 은 다음 중 하나여야 합니다. |
|
set_to_server_value |
필드를 지정된 서버 값으로 설정합니다. |
increment |
지정된 값을 필드의 현재 값에 추가합니다. 정수 또는 double 값이어야 합니다. 필드가 정수 또는 double이 아니거나 필드가 아직 존재하지 않는 경우, 변환은 필드를 지정된 값으로 설정합니다. 지정된 값 또는 현재 필드 값 중 하나가 double인 경우 두 값 모두 double로 해석됩니다. double 값의 이중 산술과 표현은 IEEE 754 시맨틱을 따릅니다. 양의 정수/음의 정수 오버플로가 있는 경우, 필드는 가장 큰 양의 정수/음의 정수로 확인됩니다. |
maximum |
필드를 현재 값과 지정된 값의 최댓값으로 설정합니다. 정수 또는 double 값이어야 합니다. 필드가 정수 또는 double이 아니거나 필드가 아직 존재하지 않는 경우, 변환은 필드를 지정된 값으로 설정합니다. 필드와 입력 값이 혼합된 유형 (즉, 1은 정수이고 1은 double)인 최대 연산이 적용되는 경우 필드는 더 큰 피연산자의 유형을 취합니다. 피연산자가 같은 경우 (예: 3과 3.0) 필드는 변경되지 않습니다. 0, 0.0 및 -0.0은 모두 0입니다. 저장 값 0과 입력 값 0의 최댓값은 항상 저장 값입니다. 숫자 값 x 및 NaN의 최댓값은 NaN입니다. |
minimum |
필드를 현재 값과 지정된 값의 최솟값으로 설정합니다. 정수 또는 double 값이어야 합니다. 필드가 정수 또는 double이 아니거나 필드가 아직 존재하지 않는 경우, 변환은 필드를 입력 값으로 설정합니다. 필드와 입력 값이 혼합된 유형 (즉, 1은 정수이고 1은 double)인 최소 연산이 적용되는 경우 필드는 더 작은 피연산자의 유형을 취합니다. 피연산자가 같은 경우 (예: 3과 3.0) 필드는 변경되지 않습니다. 0, 0.0 및 -0.0은 모두 0입니다. 저장 값 0과 입력 값 0의 최솟값은 항상 저장 값입니다. 숫자 값 x 및 NaN의 최솟값은 NaN입니다. |
append_missing_elements |
지정된 요소가 현재 필드 값에 아직 없는 경우 순서대로 추가합니다. 필드가 배열이 아니거나 필드가 아직 존재하지 않는 경우 먼저 빈 배열로 설정됩니다. 다른 유형 (예: 3L 및 3.0)에 상응하는 값은 값이 누락되었는지 확인할 때 동일한 것으로 간주됩니다. NaN은 NaN과 같고 Null은 Null과 같습니다. 입력에 동일한 값이 여러 개 포함되어 있으면 첫 번째 값만 고려됩니다. 해당하는 transform_result가 null 값이 됩니다. |
remove_all_from_array |
필드의 배열에서 지정된 요소를 모두 삭제합니다. 필드가 배열이 아니거나 필드가 아직 존재하지 않는 경우 빈 배열로 설정됩니다. 요소를 삭제해야 하는지 여부를 결정할 때 서로 다른 유형 (예: 3L 및 3.0)의 등가는 동일한 것으로 간주됩니다. NaN은 NaN과 같고 Null은 Null과 같습니다. 중복이 있는 경우 상응하는 모든 값이 삭제됩니다. 해당하는 transform_result가 null 값이 됩니다. |
ServerValue
서버에서 계산하는 값입니다.
열거형 | |
---|---|
SERVER_VALUE_UNSPECIFIED |
지정되지 않음. 이 값을 사용해서는 안 됩니다. |
REQUEST_TIME |
서버가 요청을 처리한 시간입니다(밀리초 단위). 트랜잭션의 여러 필드 (동일하거나 다른 문서)에 사용되는 경우 모든 필드에 동일한 서버 타임스탬프가 적용됩니다. |
실행 통계
쿼리의 실행 통계입니다.
필드 | |
---|---|
results_returned |
문서, 프로젝션, 집계 결과, 키를 포함하여 반환된 총 결과 수입니다. |
execution_duration |
백엔드에서 쿼리를 실행하는 데 소요된 총 시간입니다. |
read_operations |
청구 가능한 총 읽기 작업 수입니다. |
debug_stats |
쿼리 실행의 디버깅 통계입니다. 디버깅 통계는 Firestore가 발전함에 따라 변경될 수 있습니다. 다음과 같은 값을 포함할 수 있습니다. { "indexes_entries_sCAN": "1000", "documents_sCAN": "20", "billing_details" : { "documents_billable": "20", "index_entries_billable": "1000", "min_query_cost": "0" } } |
존재 필터
지정된 타겟과 일치하는 모든 문서의 다이제스트입니다.
필드 | |
---|---|
target_id |
이 필터가 적용되는 타겟 ID입니다. |
count |
일치하는 클라이언트의 문서 수와 다른 경우 클라이언트는 더 이상 대상과 일치하지 않는 문서를 수동으로 확인해야 합니다. 클라이언트는 |
unchanged_names |
블룸 필터는 이름에도 불구하고 블룸(bloom) 필터는 클라이언트가 이 필터를 사용하지 않는다고 판단되거나 계산 또는 전송하기에 계산 비용이 너무 높은 경우와 같이 서버의 재량에 따라 생략될 수 있습니다. 클라이언트는 이 필드가 존재하기 전에 사용된 로직으로 대체하여 이 필드가 없는 상태에서 적절하게 처리해야 합니다. 즉, 재개 토큰 없이 타겟을 다시 추가하여 클라이언트 캐시에 있는 어떤 문서가 동기화되지 않았는지 확인합니다. |
ExplainMetrics
검색어에 대한 측정항목을 설명합니다.
필드 | |
---|---|
plan_summary |
쿼리의 계획 단계 정보 |
execution_stats |
쿼리 실행에서 집계된 통계입니다. |
ExplainOptions
쿼리의 옵션을 설명합니다.
필드 | |
---|---|
analyze |
선택사항입니다. 이 쿼리를 실행할지 여부입니다. false (기본값)로 설정하면 쿼리가 계획되어 계획 단계의 측정항목만 반환됩니다. true인 경우 쿼리가 계획 및 실행되어 계획 및 실행 단계 측정항목과 함께 전체 쿼리 결과가 반환됩니다. |
GetDocumentRequest
Firestore.GetDocument
의 요청입니다.
필드 | |
---|---|
name |
필수 항목입니다. 가져올 문서의 리소스 이름입니다. 형식은 |
mask |
반환할 필드입니다. 설정하지 않으면 모든 필드가 반환됩니다. 문서에 이 마스크에 없는 필드가 있으면 해당 필드는 응답으로 반환되지 않습니다. |
통합 필드 consistency_selector . 이 트랜잭션의 일관성 모드입니다. 설정하지 않으면 기본값은 strong consistency입니다. consistency_selector 은 다음 중 하나여야 합니다. |
|
transaction |
트랜잭션에서 문서를 읽습니다. |
read_time |
지정된 시간에 문서의 버전을 읽습니다. 지난 1시간 이내의 마이크로초 정밀도 타임스탬프여야 합니다. 또는 PITR(point-in-time recovery)이 사용 설정된 경우 지난 7일 이내의 1분짜리 타임스탬프일 수도 있습니다. |
ListCollectionIdsRequest
Firestore.ListCollectionIds
의 요청입니다.
필드 | |
---|---|
parent |
필수 항목입니다. 상위 문서입니다. 형식은 |
page_size |
반환할 최대 결과 수입니다. |
page_token |
페이지 토큰입니다. |
통합 필드 consistency_selector . 이 요청의 일관성 모드입니다. 설정하지 않으면 기본값은 strong consistency입니다. consistency_selector 은 다음 중 하나여야 합니다. |
|
read_time |
지정된 시점의 문서를 읽습니다. 지난 1시간 이내의 마이크로초 정밀도 타임스탬프여야 합니다. 또는 PITR(point-in-time recovery)이 사용 설정된 경우 지난 7일 이내의 1분짜리 타임스탬프일 수도 있습니다. |
ListCollectionIdsResponse
필드 | |
---|---|
collection_ids[] |
컬렉션 ID입니다. |
next_page_token |
목록을 계속 이어지는 데 사용할 수 있는 페이지 토큰입니다. |
ListDocumentsRequest
Firestore.ListDocuments
의 요청입니다.
필드 | |
---|---|
parent |
필수 항목입니다. 상위 리소스 이름입니다. 형식: 예를 들면 |
collection_id |
선택사항입니다. 나열할 컬렉션 ID( 예를 들면 이는 선택사항이며, 제공되지 않으면 Firestore는 제공된 |
page_size |
선택사항입니다. 단일 응답에서 반환할 최대 문서 수입니다. Firestore는 이 값보다 적은 수의 값을 반환할 수 있습니다. |
page_token |
선택사항입니다. 이전 후속 페이지를 검색하려면 이를 입력합니다. 페이지로 나눌 때 다른 모든 매개변수 ( |
order_by |
선택사항입니다. 반환할 문서의 순서입니다(선택사항). 예를 들면 Firestore 쿼리에서 사용되는 |
mask |
선택사항입니다. 반환할 필드입니다. 설정하지 않으면 모든 필드가 반환됩니다. 문서에 이 마스크에 없는 필드가 있으면 해당 필드는 응답으로 반환되지 않습니다. |
show_missing |
목록에 누락된 문서가 표시되어야 하는지 여부 문서가 없는 경우 누락된 문서가 있는데 그 아래에 하위 문서가 중첩되어 있습니다. true인 경우 누락된 문서가 키와 함께 반환되지만 필드,
|
통합 필드 consistency_selector . 이 트랜잭션의 일관성 모드입니다. 설정하지 않으면 기본값은 strong consistency입니다. consistency_selector 은 다음 중 하나여야 합니다. |
|
transaction |
이미 활성화된 트랜잭션의 일부로 읽기를 수행합니다. |
read_time |
제공된 시간에 읽기를 실행합니다. 지난 1시간 이내의 마이크로초 정밀도 타임스탬프여야 합니다. 또는 PITR(point-in-time recovery)이 사용 설정된 경우 지난 7일 이내의 1분짜리 타임스탬프일 수도 있습니다. |
ListDocumentsResponse
Firestore.ListDocuments
의 응답입니다.
필드 | |
---|---|
documents[] |
문서를 찾았습니다. |
next_page_token |
문서의 다음 페이지를 검색하기 위한 토큰입니다. 이 필드를 생략하면 후속 페이지가 표시되지 않습니다. |
ListenRequest
Firestore.Listen
에 대한 요청
필드 | |
---|---|
database |
필수 항목입니다. 데이터베이스 이름입니다. 형식은 |
labels |
이 타겟 변경과 관련된 라벨이 있습니다. |
통합 필드 target_change . 지원되는 대상이 변경됩니다. target_change 은 다음 중 하나여야 합니다. |
|
add_target |
이 스트림에 추가할 타겟입니다. |
remove_target |
이 스트림에서 삭제할 대상의 ID입니다. |
ListenResponse
Firestore.Listen
의 응답입니다.
필드 | |
---|---|
통합 필드 response_type . 지원되는 응답입니다. response_type 은 다음 중 하나여야 합니다. |
|
target_change |
대상이 변경되었습니다. |
document_change |
|
document_delete |
|
document_remove |
|
filter |
지정된 타겟에 대해 이전에 반환된 문서 집합에 적용할 필터입니다. 지정된 대상에서 문서가 삭제되었을 수 있지만 정확한 문서를 알 수 없는 경우 반환됩니다. |
지도 값
맵 값입니다.
필드 | |
---|---|
fields |
지도의 필드입니다. 맵 키는 필드 이름을 나타냅니다. 정규 표현식 |
PartitionQueryRequest
Firestore.PartitionQuery
의 요청입니다.
필드 | |
---|---|
parent |
필수 항목입니다. 상위 리소스 이름입니다. 형식은 |
partition_count |
원하는 최대 파티션 지점 수입니다. 파티션은 여러 결과 페이지에 걸쳐 반환될 수 있습니다. 숫자는 양수여야 합니다. 반환되는 파티션의 실제 수는 더 적을 수 있습니다. 예를 들어 이는 실행할 병렬 쿼리 수보다 1개 적게 설정되거나, 데이터 파이프라인 작업 실행 시 사용 가능한 작업자 또는 컴퓨팅 인스턴스 수보다 1개 적게 설정될 수 있습니다. |
page_token |
추가 결과 집합을 가져오는 데 사용할 수 있는 PartitionQuery에 대한 이전 호출에서 반환된 예를 들어 page_token을 사용한 두 번의 후속 호출은 다음을 반환할 수 있습니다.
PartitionQuery에 제공된 쿼리 결과를 기준으로 정렬된 전체 결과 집합을 가져오려면 결과 집합을 병합해야 합니다(커서 A, 커서 B, 커서 M, 커서 Q, 커서 U, 커서 W). |
page_size |
이 호출에서 반환할 파티션의 최대 개수이며 예를 들어 |
통합 필드 query_type . 파티션을 나눌 쿼리입니다. query_type 은 다음 중 하나여야 합니다. |
|
structured_query |
구조화된 쿼리입니다. 쿼리는 모든 하위 요소가 포함된 컬렉션을 지정하고 이름 오름차순으로 정렬해야 합니다. 다른 필터, 정렬 기준, 제한, 오프셋, 시작/끝 커서는 지원되지 않습니다. |
통합 필드 consistency_selector . 이 요청의 일관성 모드입니다. 설정하지 않으면 기본값은 strong consistency입니다. consistency_selector 은 다음 중 하나여야 합니다. |
|
read_time |
지정된 시점의 문서를 읽습니다. 지난 1시간 이내의 마이크로초 정밀도 타임스탬프여야 합니다. 또는 PITR(point-in-time recovery)이 사용 설정된 경우 지난 7일 이내의 1분짜리 타임스탬프일 수도 있습니다. |
PartitionQueryResponse
Firestore.PartitionQuery
의 응답입니다.
필드 | |
---|---|
partitions[] |
파티션 결과 각 파티션은 RunQuery에서 쿼리 결과의 시작 또는 끝 지점으로 사용할 수 있는 분할 지점입니다. 이 PartitionQuery 요청에 제공된 것과 동일한 쿼리를 사용하여 RunQuery 요청을 해야 합니다. 파티션 커서는 PartitionQuery에 제공된 쿼리 결과와 동일한 순서에 따라 정렬됩니다. 예를 들어 PartitionQuery 요청이 파티션 커서 A와 B를 반환하는 경우 다음 세 가지 쿼리를 실행하면 원래 쿼리의 전체 결과 집합이 반환됩니다.
결과가 비어 있으면 파티션을 나눌 수 있는 결과가 너무 적거나 쿼리의 파티션 나누기가 아직 지원되지 않음을 나타낼 수 있습니다. |
next_page_token |
추가 결과 집합을 요청하는 데 사용할 수 있는 페이지 토큰으로, PartitionQuery 요청에서 |
계획 요약
쿼리의 계획 단계 정보
필드 | |
---|---|
indexes_used[] |
쿼리에 선택된 색인입니다. 예: [ {"query_scope": "Collection", "properties": "(foo ASC, name ASC)"}, {"query_scope": "Collection", "properties": "(bar ASC, name ASC)"} ] |
전제조건
조건부 작업에 사용되는 문서의 전제 조건입니다.
필드 | |
---|---|
통합 필드 condition_type . 전제 조건의 유형입니다. condition_type 은 다음 중 하나여야 합니다. |
|
exists |
|
update_time |
설정되면 대상 문서가 존재하고 해당 시점에 최종 업데이트된 문서여야 합니다. 타임스탬프는 마이크로초로 정렬해야 합니다. |
RollbackRequest
Firestore.Rollback
의 요청입니다.
필드 | |
---|---|
database |
필수 항목입니다. 데이터베이스 이름입니다. 형식은 |
transaction |
필수 항목입니다. 롤백할 트랜잭션입니다. |
RunAggregationQueryRequest
Firestore.RunAggregationQuery
의 요청입니다.
필드 | |
---|---|
parent |
필수 항목입니다. 상위 리소스 이름입니다. 형식: |
explain_options |
선택사항입니다. 쿼리의 옵션을 설명합니다. 설정하면 추가 쿼리 통계가 반환됩니다. 그렇지 않으면 쿼리 결과만 반환됩니다. |
통합 필드 query_type . 실행할 쿼리입니다. query_type 은 다음 중 하나여야 합니다. |
|
structured_aggregation_query |
집계 쿼리입니다. |
통합 필드 consistency_selector . 쿼리의 일관성 모드로, 기본값은 strong consistency입니다. consistency_selector 은 다음 중 하나여야 합니다. |
|
transaction |
이미 활성화된 트랜잭션 내에서 집계를 실행합니다. 이 값은 쿼리를 실행할 불투명한 트랜잭션 ID입니다. |
new_transaction |
쿼리의 일부로 새 트랜잭션을 시작합니다. 기본값은 읽기 전용입니다. 새 트랜잭션 ID가 스트림의 첫 번째 응답으로 반환됩니다. |
read_time |
지정된 타임스탬프에 쿼리를 실행합니다. 지난 1시간 이내의 마이크로초 정밀도 타임스탬프여야 합니다. 또는 PITR(point-in-time recovery)이 사용 설정된 경우 지난 7일 이내의 1분짜리 타임스탬프일 수도 있습니다. |
RunAggregationQueryResponse
Firestore.RunAggregationQuery
의 응답입니다.
필드 | |
---|---|
result |
단일 집계 결과입니다. 부분 진행 상황을 보고할 때는 표시되지 않습니다. |
transaction |
이 요청의 일부로 시작된 트랜잭션입니다. 요청이 새 트랜잭션의 시작을 요청한 경우에만 첫 번째 응답에 표시됩니다. |
read_time |
집계 결과가 계산된 시간입니다. 이 수치는 항상 단조롭게 증가합니다. 이 경우 결과 스트림의 이전 AggregationResult는 쿼리에서 반환된 결과가 없으면 |
explain_metrics |
쿼리 설명 측정항목 |
RunQueryRequest
Firestore.RunQuery
의 요청입니다.
필드 | |
---|---|
parent |
필수 항목입니다. 상위 리소스 이름입니다. 형식: |
explain_options |
선택사항입니다. 쿼리의 옵션을 설명합니다. 설정하면 추가 쿼리 통계가 반환됩니다. 그렇지 않으면 쿼리 결과만 반환됩니다. |
통합 필드 query_type . 실행할 쿼리입니다. query_type 은 다음 중 하나여야 합니다. |
|
structured_query |
구조화된 쿼리입니다. |
통합 필드 consistency_selector . 이 트랜잭션의 일관성 모드입니다. 설정하지 않으면 기본값은 strong consistency입니다. consistency_selector 은 다음 중 하나여야 합니다. |
|
transaction |
이미 활성 상태인 트랜잭션 내에서 쿼리를 실행합니다. 이 값은 쿼리를 실행할 불투명한 트랜잭션 ID입니다. |
new_transaction |
새 트랜잭션을 시작하고 문서를 읽습니다. 기본값은 읽기 전용 트랜잭션입니다. 새 트랜잭션 ID가 스트림의 첫 번째 응답으로 반환됩니다. |
read_time |
지정된 시점의 문서를 읽습니다. 지난 1시간 이내의 마이크로초 정밀도 타임스탬프여야 합니다. 또는 PITR(point-in-time recovery)이 사용 설정된 경우 지난 7일 이내의 1분짜리 타임스탬프일 수도 있습니다. |
RunQueryResponse
Firestore.RunQuery
의 응답입니다.
필드 | |
---|---|
transaction |
이 요청의 일부로 시작된 트랜잭션입니다. 요청에서 |
document |
쿼리 결과이며 부분적 진행 상황을 보고할 때는 설정되지 않습니다. |
read_time |
문서를 읽은 시간입니다. 이는 일정하게 증가할 수 있습니다. 이 경우 결과 스트림의 이전 문서가 쿼리에서 결과를 반환하지 않으면 |
skipped_results |
마지막 응답과 현재 응답 사이의 오프셋으로 인해 건너뛴 결과의 수입니다. |
explain_metrics |
쿼리 설명 측정항목 |
통합 필드 continuation_selector . 쿼리의 연속 모드입니다. 있는 경우, 현재 쿼리 응답 스트림이 완료되었음을 나타냅니다. document 유무와 관계없이 설정할 수 있지만 설정하면 더 이상 결과가 반환되지 않습니다. continuation_selector 은 다음 중 하나일 수 있습니다. |
|
done |
요청이 있으면 Firestore에서 요청을 완전히 완료했으며 더 이상 문서가 반환되지 않습니다. |
StructuredAggregationQuery
StructuredQuery
를 통해 집계를 실행하기 위한 Firestore 쿼리
필드 | |
---|---|
aggregations[] |
선택사항입니다. 요구사항:
|
통합 필드 query_type . 집계할 기본 쿼리입니다. query_type 은 다음 중 하나여야 합니다. |
|
structured_query |
중첩된 구조화된 쿼리입니다. |
집계
단일 결과를 생성하는 집계를 정의합니다.
필드 | |
---|---|
alias |
선택사항입니다. 집계 결과를 저장할 필드의 이름입니다(선택사항). 입력하지 않으면 Firestore에서
다음과 같이 변환됩니다.
요구사항:
|
통합 필드 operator . 수행할 집계 유형입니다(필수). operator 은 다음 중 하나여야 합니다. |
|
count |
집계 애그리게이터입니다. |
sum |
합계 애그리게이터입니다. |
avg |
평균 애그리게이터입니다. |
평균
요청된 필드 값의 평균입니다.
숫자 값만 집계됩니다.
NULL
등 숫자가 아닌 모든 값은 건너뜁니다.집계된 값에
NaN
이 포함되어 있으면NaN
이 반환됩니다. 무한대 수학은 IEEE-754 표준을 따릅니다.집계된 값이 비어 있으면
NULL
이 반환됩니다.결과를 항상 double로 반환합니다.
필드 | |
---|---|
field |
집계할 필드입니다. |
개수
쿼리와 일치하는 문서 수입니다.
COUNT(*)
집계 함수는 문서 전체에서 작동하므로 필드 참조가 필요하지 않습니다.
필드 | |
---|---|
up_to |
선택사항입니다. 계산할 최대 문서 수에 대한 선택적 제약조건입니다. 이를 통해 스캔할 문서 수의 상한선을 설정하여 지연 시간 및 비용을 제한할 수 있습니다. 지정되지 않으면 경계가 없는 것으로 해석됩니다. 대략적인 예:
요구사항:
|
합계
요청된 필드 값의 합계입니다.
숫자 값만 집계됩니다.
NULL
등 숫자가 아닌 모든 값은 건너뜁니다.집계된 값에
NaN
이 포함되어 있으면NaN
이 반환됩니다. 무한대 수학은 IEEE-754 표준을 따릅니다.집계된 값이 비어 있으면 0이 반환됩니다.
집계된 모든 숫자가 정수이고 합계 결과가 오버플로되지 않는 경우 64비트 정수를 반환합니다. 그렇지 않으면 결과가 double로 반환됩니다. 집계된 값이 모두 정수인 경우에도 64비트의 부호 있는 정수 내에 들어가지 못하면 결과가 double로 반환됩니다. 이 경우 반환되는 값의 정밀도가 떨어집니다.
언더플로가 발생하면 부동 소수점 집계는 비확정적입니다. 즉, 기본 값을 변경하지 않고 동일한 쿼리를 반복적으로 실행하면 매번 약간 다른 결과가 생성될 수 있습니다. 이러한 경우 값을 부동 소수점 수 대신 정수로 저장해야 합니다.
필드 | |
---|---|
field |
집계할 필드입니다. |
StructuredQuery
Firestore 쿼리
쿼리 단계는 1. from 2. 여기서 3. 4. order_by + start_at + end_at 5. offset 6. limit 순으로 실행됩니다.
필드 | |
---|---|
select |
반환할 필드의 선택적 하위 집합입니다. 쿼리에서 반환된 문서에 대해 |
from[] |
쿼리할 컬렉션입니다. |
where |
적용할 필터입니다. |
order_by[] |
쿼리 결과에 적용할 순서입니다. Firestore를 사용하면 호출자가 전체 순서 지정 또는 부분 순서 지정을 제공하거나 아예 순서 지정을 제공하지 않을 수 있습니다. 모든 경우에 Firestore는 다음 규칙을 통해 안정적인 순서를 보장합니다.
필드는 지정된 마지막 순서와 동일한 정렬 방향 또는 'ASCENDING'으로 추가됩니다. 표시됩니다. 예를 들면 다음과 같습니다.
|
start_at |
결과 집합에서 쿼리를 시작할 위치의 잠재 접두사입니다. 결과 세트의 순서는 원래 쿼리의
이 쿼리의 결과는 커서는 전체 순서 또는 위치의 접두사를 참조할 수 있지만 제공된 위의 예를 계속 진행하면 다음 시작 커서를 연결하면 다양한 영향을 미칩니다.
건너뛰려면 처음 N개의 결과를 검색해야 하는 요구사항:
|
end_at |
결과 집합에서 쿼리를 종료할 위치의 잠재 접두사입니다.
요구사항:
|
offset |
첫 번째 결과를 반환하기 전에 건너뛸 문서 수입니다. 이는 요구사항:
|
limit |
반환할 최대 결과 수입니다. 다른 모든 제약 조건 뒤에 적용됩니다. 요구사항:
|
find_nearest |
선택사항입니다. 잠재적인 최근접 이웃 검색입니다. 다른 모든 필터 및 순서 뒤에 적용됩니다. 지정된 쿼리 벡터에 가장 가까운 벡터 임베딩을 찾습니다. |
CollectionSelector
컬렉션의 선택(예: messages as m1
)
필드 | |
---|---|
collection_id |
컬렉션 ID입니다. 설정하면 이 ID가 있는 컬렉션만 선택됩니다. |
all_descendants |
false인 경우 포함하는 |
CompositeFilter
지정된 연산자를 사용하여 다른 여러 필터를 병합하는 필터입니다.
필드 | |
---|---|
op |
여러 필터를 결합하는 연산자입니다. |
filters[] |
결합할 필터의 목록입니다. 요구사항:
|
연산자
복합 필터 연산자.
열거형 | |
---|---|
OPERATOR_UNSPECIFIED |
지정되지 않음. 이 값을 사용해서는 안 됩니다. |
AND |
문서가 결합된 필터를 모두 충족해야 합니다. |
OR |
문서가 결합된 필터 중 하나 이상을 충족해야 합니다. |
방향
정렬 방향입니다.
열거형 | |
---|---|
DIRECTION_UNSPECIFIED |
지정되지 않음. |
ASCENDING |
오름차순. |
DESCENDING |
내림차순. |
필드필터
특정 필드의 필터입니다.
필드 | |
---|---|
field |
필터링할 필드입니다. |
op |
필터링할 연산자입니다. |
value |
비교할 값입니다. |
연산자
필드 필터 연산자.
열거형 | |
---|---|
OPERATOR_UNSPECIFIED |
지정되지 않음. 이 값을 사용해서는 안 됩니다. |
LESS_THAN |
지정된 요구사항:
|
LESS_THAN_OR_EQUAL |
지정된 요구사항:
|
GREATER_THAN |
지정된 요구사항:
|
GREATER_THAN_OR_EQUAL |
지정된 요구사항:
|
EQUAL |
지정된 field 는 지정된 value 와 같습니다. |
NOT_EQUAL |
지정된 요구사항:
|
ARRAY_CONTAINS |
지정된 field 는 지정된 value 가 포함된 배열입니다. |
IN |
지정된 요구사항:
|
ARRAY_CONTAINS_ANY |
지정된 요구사항:
|
NOT_IN |
요구사항:
|
필드 참조
문서의 필드에 대한 참조입니다(예: stats.operations
).
필드 | |
---|---|
field_path |
문서의 필드에 대한 참조입니다. 요구사항:
|
필터
필터
필드 | |
---|---|
통합 필드 filter_type . 필터 유형입니다. filter_type 은 다음 중 하나여야 합니다. |
|
composite_filter |
복합 필터 |
field_filter |
문서 필드의 필터 |
unary_filter |
정확히 1개의 인수를 사용하는 필터입니다. |
가장 가까운 곳 찾기
최근접 이웃 검색 구성
필드 | |
---|---|
vector_field |
필수 항목입니다. 검색할 색인이 지정된 벡터 필드입니다. 차원이 query_vector와 일치하는 벡터가 포함된 문서만 반환될 수 있습니다. |
query_vector |
필수 항목입니다. 검색 중인 쿼리 벡터입니다. 차원이 2,048개를 넘지 않는 벡터여야 합니다. |
distance_measure |
필수 항목입니다. 사용할 거리 측정입니다(필수). |
limit |
필수 항목입니다. 반환할 최근접 이웃 수입니다. 1,000 이하의 양의 정수여야 합니다. |
거리 측정
벡터를 비교할 때 사용할 거리 측정입니다.
열거형 | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
설정하면 안 됩니다. |
EUCLIDEAN |
벡터 사이의 EUCLIDEAN 거리를 측정합니다. 자세한 내용은 유클리드를 참고하세요. |
COSINE |
벡터 사이의 각도를 기준으로 벡터를 비교하므로 벡터 크기를 기반으로 하지 않는 유사성을 측정할 수 있습니다. 수학적으로 동일하며 성능이 더 뛰어난 COSINE 거리 대신 단위 정규화된 벡터가 있는 DOT_PRODUCT를 사용하는 것이 좋습니다. 자세한 내용은 코사인 유사성을 참조하세요. |
DOT_PRODUCT |
코사인과 비슷하지만 벡터 크기의 영향을 받습니다. 자세한 내용은 닷 제품을 참고하세요. |
주문
필드의 주문
필드 | |
---|---|
field |
정렬 기준이 되는 필드입니다. |
direction |
정렬 기준입니다. 기본값은 |
투영
반환할 문서 필드의 프로젝션입니다.
필드 | |
---|---|
fields[] |
반환할 필드입니다. 비어 있으면 모든 필드가 반환됩니다. 문서의 이름만 반환하려면 |
단항 필터
단일 피연산자가 있는 필터.
필드 | |
---|---|
op |
적용할 단항 연산자입니다. |
통합 필드 operand_type . 필터의 인수입니다. operand_type 은 다음 중 하나여야 합니다. |
|
field |
연산자를 적용할 필드입니다. |
연산자
단항 연산자입니다.
열거형 | |
---|---|
OPERATOR_UNSPECIFIED |
지정되지 않음. 이 값을 사용해서는 안 됩니다. |
IS_NAN |
지정된 field 는 NaN 와 같습니다. |
IS_NULL |
지정된 field 는 NULL 와 같습니다. |
IS_NOT_NAN |
지정된 요구사항:
|
IS_NOT_NULL |
지정된 요구사항:
|
타겟팅
수신 대기할 문서 집합의 사양입니다.
필드 | |
---|---|
target_id |
스트림에서 대상을 식별하는 타겟 ID입니다. 0이 아닌 양수여야 합니다.
클라이언트가 ID 없이 여러
|
once |
타겟이 최신 상태이고 일관되면 삭제해야 하는지 여부입니다. |
expected_count |
재개 토큰 또는 읽기 시간에 쿼리와 마지막으로 일치한 문서 수입니다. 이 값은 |
통합 필드 target_type . 수신할 타겟 유형입니다. target_type 은 다음 중 하나여야 합니다. |
|
query |
쿼리로 지정된 대상. |
documents |
문서 이름 집합으로 지정된 대상. |
통합 필드 지정하면 |
|
resume_token |
동일한 타겟에 관한 이전 다른 타겟으로 재개 토큰을 사용하는 것은 지원되지 않으며 실패할 수 있습니다. |
read_time |
특정 이때 클라이언트는 일치하는 문서의 상태를 알고 있어야 합니다. |
문서 타겟
문서 이름 집합으로 지정된 대상입니다.
필드 | |
---|---|
documents[] |
검색할 문서의 이름입니다. 형식은 |
검색어 타겟
쿼리로 지정된 대상.
필드 | |
---|---|
parent |
상위 리소스 이름입니다. 형식: |
통합 필드 query_type . 실행할 쿼리입니다. query_type 은 다음 중 하나여야 합니다. |
|
structured_query |
구조화된 쿼리입니다. |
타겟 변경
감시 대상이 변경되었습니다.
필드 | |
---|---|
target_change_type |
발생한 변경 유형입니다. |
target_ids[] |
변경된 타겟의 타겟 ID입니다. 비어 있으면 변경사항이 모든 대상에 적용됩니다. 타겟 ID의 순서가 정의되지 않았습니다. |
cause |
변경이 발생한 오류입니다(해당하는 경우). |
resume_token |
지정된 타겟을 변경할 때마다 설정되지는 않습니다. |
read_time |
지정된 스트림은 전체 스트림이 일관된 새 스냅샷에 도달할 때마다 지정된 스트림에서 |
타겟 변경 유형
변경 유형
열거형 | |
---|---|
NO_CHANGE |
변경사항이 없습니다. 업데이트된 resume_token 를 전송하는 데만 사용됩니다. |
ADD |
대상이 추가되었습니다. |
REMOVE |
대상이 삭제되었습니다. |
CURRENT |
대상에는 대상이 스트림에 추가되기 전에 커밋된 모든 변경사항이 반영됩니다. 타겟이 추가된 시점보다 크거나 같은 쓰기 후 읽기 의미 체계가 필요한 경우 리스너는 이 변경사항을 기다릴 수 있습니다. |
RESET |
타겟이 재설정되었으며 이후 변경 시 타겟의 새로운 초기 상태가 반환됩니다. 초기 상태가 완료되면 타겟이 이전에 |
TransactionOptions
새 트랜잭션을 만드는 옵션입니다.
필드 | |
---|---|
통합 필드 mode . 트랜잭션의 모드입니다. mode 은 다음 중 하나여야 합니다. |
|
read_only |
트랜잭션은 읽기 작업에만 사용할 수 있습니다. |
read_write |
트랜잭션은 읽기 및 쓰기 작업 모두에 사용할 수 있습니다. |
읽기 전용
문서를 읽는 데만 사용할 수 있는 트랜잭션의 옵션입니다.
필드 | |
---|---|
통합 필드 consistency_selector . 이 트랜잭션의 일관성 모드입니다. 설정하지 않으면 기본값은 strong consistency입니다. consistency_selector 은 다음 중 하나여야 합니다. |
|
read_time |
지정된 시간에 문서를 읽습니다. 지난 1시간 이내의 마이크로초 정밀도 타임스탬프여야 합니다. 또는 PITR(point-in-time recovery)이 사용 설정된 경우 지난 7일 이내의 1분짜리 타임스탬프일 수도 있습니다. |
읽기 쓰기
문서를 읽고 쓰는 데 사용할 수 있는 트랜잭션의 옵션입니다.
Firestore는 서드 파티 인증 요청으로 읽기-쓰기를 만들 수 없습니다. 거래입니다.
필드 | |
---|---|
retry_transaction |
다시 시도할 트랜잭션(선택사항)입니다. |
UpdateDocumentRequest
Firestore.UpdateDocument
의 요청입니다.
필드 | |
---|---|
document |
필수 항목입니다. 업데이트된 문서입니다. 문서가 없으면 새로 만듭니다. |
update_mask |
업데이트할 필드입니다. 마스크의 필드 경로는 예약된 이름을 포함할 수 없습니다. 문서가 서버에 있고 마스크에서 참조되지 않은 필드가 있는 경우 변경되지 않습니다. 마스크에서는 참조되었지만 입력 문서에는 없는 필드는 서버의 문서에서 삭제됩니다. |
mask |
반환할 필드입니다. 설정하지 않으면 모든 필드가 반환됩니다. 문서에 이 마스크에 없는 필드가 있으면 해당 필드는 응답으로 반환되지 않습니다. |
current_document |
문서의 전제 조건(선택사항)입니다. 이 값이 설정되고 대상 문서에서 충족되지 않으면 요청이 실패합니다. |
값
지원되는 값 유형을 포함할 수 있는 메시지입니다.
필드 | |
---|---|
통합 필드 value_type . 값을 설정해야 합니다. value_type 은 다음 중 하나여야 합니다. |
|
null_value |
null 값입니다. |
boolean_value |
부울 값 |
integer_value |
정수 값입니다. |
double_value |
double 값입니다. |
timestamp_value |
타임스탬프 값입니다. 마이크로초 단위까지만 정확합니다. 저장 시 추가 정밀도는 내림됩니다. |
string_value |
문자열 값입니다. UTF-8로 표시되는 문자열은 1MiB~89바이트를 초과하면 안 됩니다. UTF-8 표현의 처음 1,500바이트만 쿼리에서 고려됩니다. |
bytes_value |
바이트 값입니다. 1MiB~89바이트 이하여야 합니다. 처음 1,500바이트만 쿼리에서 고려됩니다. |
reference_value |
문서에 대한 참조입니다. 예를 들면 |
geo_point_value |
지구 표면의 한 지점을 나타내는 지리적 점 값입니다. |
array_value |
배열 값입니다. 다른 배열 값을 직접 포함할 수는 없지만 다른 배열이 포함된 맵을 포함할 수 있습니다. |
map_value |
맵 값입니다. |
Write
문서에 대한 쓰기입니다.
필드 | |
---|---|
update_mask |
이 쓰기에서 업데이트할 필드입니다. 이 필드는 작업이 |
update_transforms[] |
업데이트 후에 수행할 변환입니다. 이 필드는 작업이 |
current_document |
문서의 전제 조건(선택사항)입니다. 이 값을 설정하고 대상 문서에서 충족하지 않으면 쓰기가 실패합니다. |
통합 필드 operation . 실행할 작업입니다. operation 은 다음 중 하나여야 합니다. |
|
update |
작성할 문서입니다. |
delete |
삭제할 문서 이름입니다. 형식은 |
transform |
문서에 변환을 적용합니다. |
쓰기 요청
Firestore.Write
의 요청입니다.
첫 번째 요청은 스트림을 만들거나 토큰에서 기존 스트림을 재개합니다.
새 스트림을 생성할 때 서버는 다음 요청에서 사용할 ID와 토큰만 포함된 응답으로 응답합니다.
스트림을 재개할 때 서버는 먼저 지정된 토큰보다 이후인 응답을 스트리밍한 다음 최신 토큰만 포함된 응답을 다음 요청에서 사용합니다.
필드 | |
---|---|
database |
필수 항목입니다. 데이터베이스 이름입니다. 형식은 |
stream_id |
다시 시작할 쓰기 스트림의 ID입니다. 첫 번째 메시지에서만 설정할 수 있습니다. 비워 두면 새 쓰기 스트림이 생성됩니다. |
writes[] |
적용할 쓰기입니다. 항상 원자적으로 순서대로 실행됩니다. 첫 번째 요청에서는 비어 있어야 합니다. 마지막 요청에서는 비어 있을 수 있습니다. 다른 모든 요청에서는 이 필드를 비워 둘 수 없습니다. |
stream_token |
서버에서 이전에 전송한 스트림 토큰입니다. 클라이언트는 이 필드를 가장 최근에 수신한 확인되지 않은 응답이 너무 많으면 서버가 스트림을 닫을 수 있습니다. 새 스트림을 만들 때는 이 필드를 설정하지 마세요. 특정 지점에서 스트림을 재개하려면 이 필드와 새 스트림을 만들 때는 이 필드를 설정하지 마세요. |
labels |
이 쓰기 요청과 연결된 라벨입니다. |
쓰기 응답
Firestore.Write
의 응답입니다.
필드 | |
---|---|
stream_id |
스트림의 ID입니다. 새 스트림이 만들어지는 첫 번째 메시지에만 설정됩니다. |
stream_token |
스트림에서 이 응답의 위치를 나타내는 토큰입니다. 클라이언트는 이 시점에서 스트림을 재개하는 데 사용할 수 있습니다. 이 필드는 항상 설정됩니다. |
write_results[] |
쓰기를 적용한 결과입니다. 이 i번째 쓰기 결과는 요청의 i번째 쓰기에 해당합니다. |
commit_time |
커밋이 발생한 시간입니다. |
WriteResult
쓰기를 적용한 결과입니다.
필드 | |
---|---|
update_time |
쓰기를 적용한 후 문서의 마지막 업데이트 시간입니다. 쓰기로 인해 실제로 문서가 변경되지 않았다면 이전 update_time이 됩니다. |
transform_results[] |
각 |