Datastore 모드의 Firestore는 항목 그룹, 네임스페이스, 항목 종류, 속성, 각 속성의 속성 표현에 대한 정보가 포함된 메타데이터에 대한 액세스를 제공합니다. 예를 들어 메타데이터를 사용하여 애플리케이션 또는 백엔드 관리 기능을 위한 커스텀 Datastore 뷰어를 빌드할 수 있습니다.
Google Cloud 콘솔의 Datastore 대시보드도 애플리케이션에 대한 일부 메타데이터를 제공하지만 대시보드에 표시되는 데이터는 몇 가지 중요한 점에서 이러한 함수가 반환하는 데이터와 다릅니다.
- 최신 정보. API를 사용한 메타데이터 읽기는 최신 데이터를 가져오며 이때 대시보드의 데이터는 매일 한 번씩만 업데이트됩니다.
- 콘텐츠. 대시보드의 일부 메타데이터는 API를 통해 사용할 수 없습니다. 반대의 경우도 마찬가지입니다.
- 속도. 메타데이터 가져오기 및 쿼리는 Datastore 가져오기 및 쿼리와 동일한 방식으로 청구됩니다. 네임스페이스, 종류, 속성에 정보를 가져오는 메타데이터 쿼리는 일반적으로 느린 속도로 실행됩니다. 일반적으로 N개의 항목을 반환하는 하나의 메타데이터 쿼리는 각각 하나의 항목을 반환하는 N개의 일반 쿼리와 비슷한 시간이 걸립니다. 그뿐만 아니라 속성 표현 쿼리(키 전용이 아닌 속성 쿼리)는 키 전용 속성 쿼리보다 느립니다. 항목 그룹 메타데이터의 메타데이터 Gets는 일반적인 항목을 가져오는 것보다 다소 빠르게 실행됩니다.
메타데이터 쿼리
메타데이터 쿼리에는 3개의 특수 항목 종류가 예약되어 있습니다.
항목 | 설명 |
---|---|
__namespace__ |
애플리케이션 항목에서 사용하는 모든 네임스페이스를 찾는 데 사용합니다. |
__kind__ |
특정 종류를 쿼리하는 데 사용합니다. |
__property__ |
한 종류의 속성별로 쿼리하는 데 사용합니다. |
이러한 종류는 이미 애플리케이션에 존재할 수 있는 동일한 이름의 다른 항목과 충돌하지 않습니다. 이러한 특수 종류를 쿼리하면 원하는 메타데이터가 포함된 항목을 검색할 수 있습니다.
메타데이터 쿼리가 반환하는 항목은 데이터베이스의 현재 상태에 따라 동적으로 생성됩니다. __namespace__
, __kind__
또는 __property__
종류의 로컬 항목 객체를 만들 수는 있지만 이러한 객체를 데이터베이스에 저장하려고 시도하면 실패합니다.
네임스페이스 쿼리
애플리케이션 항목에서 사용되는 모든 네임스페이스를 찾기 위해 네임스페이스 쿼리를 사용할 수 있습니다. 이 방법으로 여러 네임스페이스에 대한 관리 기능과 같은 작업을 수행할 수 있습니다.
네임스페이스 쿼리는 키 이름이 네임스페이스의 이름인 특수한 종류의 __namespace__
항목을 반환합니다. 단, 빈 문자열 ""
로 지정된 기본 네임스페이스는 예외입니다. 빈 문자열이 유효한 키 이름이 아니기 때문에 이 네임스페이스는 대신 숫자 ID 1
로 키가 지정됩니다. 이 유형의 쿼리는 값이 항목 키인 특수한 유사 속성 __key__
의 범위에서만 필터링을 지원합니다. 결과는 __key__
값의 오름차순으로 정렬할 수 있습니다(내림차순 불가). __namespace__
항목에 속성이 없기 때문에 키 전용 및 키 전용이 아닌 쿼리가 모두 동일한 정보를 반환합니다.
다음 예시는 startNamespace
변수와 endNamespace
변수에 할당된 값 사이의 범위에 속하는 애플리케이션의 네임스페이스 목록을 반환합니다.
C#
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore C# API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Go API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Java API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Node.js API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore PHP API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Python API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Ruby API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
GQL
SELECT __key__ FROM __namespace__ WHERE __key__ >= KEY(__namespace__, 'namespace-a') AND __key__ < KEY(__namespace__, 'namespace-b')
종류 쿼리
종류 쿼리는 키 이름이 항목 종류의 이름인 __kind__
종류의 항목을 반환합니다. 이 유형의 쿼리는 현재 네임스페이스로만 암시적으로 제한되며 __key__
유사 속성을 범위로 하는 필터링만 지원합니다. 결과는 __key__
값의 오름차순으로 정렬할 수 있습니다(내림차순 불가). __kind__
항목에 속성이 없기 때문에 키 전용 및 키 전용이 아닌 쿼리가 모두 동일한 정보를 반환합니다.
다음 예시는 애플리케이션에서 사용되는 종류의 목록을 출력합니다.
C#
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore C# API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Go API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Java API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Node.js API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore PHP API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Python API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Ruby API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
GQL
SELECT __key__ FROM __kind__
속성 쿼리
속성 쿼리는 항목 종류와 연결된 색인 속성을 나타내는 __property__
종류 항목을 반환합니다. (색인이 생성되지 않은 속성은 포함되지 않습니다.) k 종류의 p 속성을 나타내는 항목은 다음과 같이 빌드됩니다.
- 항목 키에는
__property__
종류 및 키 이름 p가 포함됩니다. - 항목의 상위 키에는
__kind__
종류와 키 이름 k가 있습니다. - 항목의
property_representation
배열 속성에는 모든 속성의 표현이 포함됩니다.
예를 들어 데이터베이스에 name
속성과 done
속성이 있는 Task
항목이 정확히 2개 포함된 경우
Key: 'Task:1'
name: 'Read some properties'
done: true
Key: 'Task:2'
name: 'Climb'
done: null
__property__
쿼리가 반환하는 두 항목은 다음과 같습니다.
Key: '__kind__:Task/__property__:name'
property_representation: [ 'STRING' ]
Key: '__kind__:Task/__property__:done'
property_representation: [ 'BOOLEAN', 'NULL' ]
속성 쿼리는 암시적으로 현재 네임스페이스로 제한되며 상위 또는 __key__
유사 속성을 범위로 하는 제한된 필터링을 지원합니다.
키 전용 속성 쿼리는 속성의 표현을 수집할 필요가 없기 때문에 키 전용이 아닌 쿼리보다 훨씬 효율적입니다. 다음 예제는 모든 애플리케이션 항목 종류와 각 종류에 연결된 속성의 이름을 가져옵니다.
C#
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore C# API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Go API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Java API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Node.js API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore PHP API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Python API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Ruby API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
GQL
SELECT __key__ FROM __property__
속성 쿼리: 속성 표현
키 전용이 아닌 속성 쿼리(속성 표현 쿼리라고 부름)는 각 속성에서 사용하는 값 유형에 대한 추가 정보를 반환합니다, k 종류의 p 속성을 나타내는 항목의 property_representation
속성은 k 종류의 항목에 있는 p 값의 모든 표현을 포함하는 배열입니다.
각 값의 표현은 다음과 같습니다(일부 값 유형은 표현을 공유함).
값 유형 | 표현 |
---|---|
정수 | INT64 |
부동 소수점 수 | DOUBLE |
부울 | BOOLEAN |
텍스트 문자열 | STRING |
바이트 문자열 | STRING |
날짜 및 시간 | INT64 |
Datastore 키 | REFERENCE |
내장 항목 | STRING |
배열 | 배열 요소의 표현 |
지리적 지점 | POINT |
Null | NULL |
다음 예시는 상위 속성 쿼리를 사용하여 Task
종류의 모든 속성 표현을 찾습니다.
C#
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore C# API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Go API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Java API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Node.js API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore PHP API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Python API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Ruby API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
GQL
SELECT * FROM __property__ WHERE __key__ HAS ANCESTOR KEY(__kind__, 'Task')
속성 쿼리: 필터링
속성 쿼리는 __kind__
또는 __property__
키에서 상위 필터링을 지원하여 위의 속성 표현 쿼리에 나온 것처럼 단일 종류 또는 속성으로 쿼리 결과를 제한합니다.
속성 쿼리는 또한 유사 속성 __key__
를 범위로 필터링할 수 있으며, 여기서 키는 __kind__
또는 __property__
항목을 나타냅니다. 결과는 __key__
값의 오름차순으로 정렬할 수 있습니다(내림차순 불가). 필터링은 종류와 속성 쌍에 적용되어 처음에는 종류별로, 두 번째에는 속성별로 정렬됩니다. 예를 들어 다음과 같은 속성이 있는 항목이 있다고 가정해 보겠습니다.
- 다음 속성이 있는
Task
종류created
priority
tags
- 다음 속성이 있는
TaskList
종류created
키 전용 속성 쿼리는 다음과 같습니다.
C#
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore C# API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Go API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
해당 없음Java
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Java API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Node.js API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
해당 없음PHP
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore PHP API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Python API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
해당 없음Ruby
Cloud Datastore용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud Datastore 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud Datastore Ruby API 참고 문서를 확인하세요.
Cloud Datastore에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
GQL
SELECT __key__ FROM __property__ WHERE __key__ >= KEY(__kind__, 'Task', __property__, 'priority')
다음과 같은 종류, 속성 이름 쌍을 수집합니다.
Task, priority
Task, tags
TaskList, created
결과는 Task
및 TaskList
종류의 속성을 포함하지만 쿼리에 지정된 범위 밖에 있기 때문에 Task
종류의 created
속성은 포함하지 않습니다.