Firestore dalam mode Datastore memberikan akses ke metadata yang mencakup informasi tentang grup entity, namespace, jenis entity, properti, dan representasi properti untuk setiap properti. Anda dapat menggunakan metadata, misalnya, untuk membuat penampil datastore kustom untuk aplikasi Anda atau untuk fungsi administratif backend.
Dasbor Datastore di Konsol Google Cloud juga menyediakan beberapa metadata tentang aplikasi Anda, tetapi data yang ditampilkan di sana berbeda dalam beberapa hal penting dengan yang ditampilkan oleh fungsi-fungsi ini.
- Keaktualan. Membaca metadata menggunakan API akan mendapatkan data saat ini, sedangkan data di dasbor hanya diperbarui sekali sehari.
- Daftar Isi. Beberapa metadata di dasbor tidak tersedia melalui API; hal sebaliknya juga berlaku.
- Kecepatan. Pembuatan dan kueri metadata ditagih dengan cara yang sama seperti pengambilan dan kueri datastore. Kueri metadata yang mengambil informasi tentang namespace, jenis, dan properti umumnya lambat untuk dijalankan. Pada dasarnya, perkirakan bahwa kueri metadata yang menampilkan entity N akan memerlukan waktu yang sama seperti N kueri biasa yang masing-masing menampilkan satu entity. Selain itu, kueri representasi properti (kueri properti khusus non-kunci) lebih lambat daripada kueri properti khusus kunci. Metadata yang diperoleh dari metadata grup entity agak lebih cepat daripada mendapatkan entity reguler.
Kueri metadata
Tiga jenis entitas khusus dicadangkan untuk kueri metadata:
Entity | Deskripsi |
---|---|
__namespace__ |
Digunakan untuk menemukan semua namespace yang digunakan dalam entity aplikasi Anda. |
__kind__ |
Digunakan untuk membuat kueri jenis tertentu. |
__property__ |
Digunakan untuk membuat kueri berdasarkan properti sejenis. |
Jenis ini tidak akan bertentangan dengan orang lain dengan nama yang sama yang mungkin sudah ada di aplikasi Anda. Dengan membuat kueri untuk jenis khusus ini, Anda dapat mengambil entity yang berisi metadata yang diinginkan.
Entity yang ditampilkan oleh kueri metadata dibuat secara dinamis, berdasarkan status database Anda saat ini. Meskipun Anda dapat membuat objek entity lokal
seperti __namespace__
, __kind__
, atau __property__
, setiap upaya untuk menyimpannya
dalam database akan gagal.
Kueri namespace
Anda dapat menggunakan kueri namespace untuk menemukan semua namespace yang digunakan dalam entity aplikasi. Dengan begitu, Anda dapat melakukan aktivitas seperti fungsi administratif di beberapa namespace.
Kueri namespace menampilkan entity __namespace__
jenis khusus yang nama kuncinya adalah nama namespace. (Pengecualiannya adalah namespace default
yang ditetapkan oleh string kosong ""
: karena string kosong bukan nama kunci
yang valid, namespace ini dikunci dengan ID numerik 1
.) Kueri jenis ini hanya mendukung pemfilteran untuk rentang dalam pseudo-properti khusus __key__
, yang nilainya adalah kunci entity. Hasilnya dapat diurutkan dengan nilai __key__
menaik (tetapi tidak
menurun). Karena entity __namespace__
tidak memiliki properti, kueri hanya-kunci dan non-kunci akan menampilkan informasi yang sama.
Contoh berikut menampilkan daftar namespace aplikasi dalam rentang
antara nilai yang ditetapkan ke variabel startNamespace
dan endNamespace
:
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
GQL
SELECT __key__ FROM __namespace__ WHERE __key__ >= KEY(__namespace__, 'namespace-a') AND __key__ < KEY(__namespace__, 'namespace-b')
Kueri jenis
Kueri jenis menampilkan entity jenis __kind__
yang nama kuncinya adalah nama
jenis entity. Kueri jenis ini secara implisit dibatasi untuk namespace saat ini
dan hanya mendukung pemfilteran untuk rentang melalui
properti pseudo __key__
. Hasilnya dapat diurutkan berdasarkan nilai __key__
menaik (tetapi tidak menurun). Karena entity __kind__
tidak memiliki properti, kueri khusus kunci dan non-kunci menampilkan informasi yang sama.
Contoh berikut mencetak daftar jenis yang digunakan dalam aplikasi:
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
GQL
SELECT __key__ FROM __kind__
Kueri properti
Kueri properti menampilkan entity jenis __property__
yang menunjukkan properti terindeks yang terkait dengan jenis entity. (Properti yang tidak diindeks tidak disertakan.) Entity yang mewakili properti p jenis k dibuat sebagai berikut:
- Kunci entity memiliki jenis
__property__
dan nama kunci p. - Kunci induk entity memiliki jenis
__kind__
dan nama kunci k. - Properti array
property_representation
entity berisi semua representasi properti.
Misalnya, jika database Anda berisi tepat dua entity Task
dengan properti name
dan done
:
Key: 'Task:1'
name: 'Read some properties'
done: true
Key: 'Task:2'
name: 'Climb'
done: null
maka dua entity yang ditampilkan oleh kueri __property__
adalah:
Key: '__kind__:Task/__property__:name'
property_representation: [ 'STRING' ]
Key: '__kind__:Task/__property__:done'
property_representation: [ 'BOOLEAN', 'NULL' ]
Kueri properti secara implisit dibatasi untuk namespace saat ini, dan mendukung
pemfilteran terbatas dengan
ancestor atau rentang pada properti pseudo __key__
.
Kueri properti keys-only lebih efisien daripada kueri non-kunci saja, karena tidak perlu mengumpulkan representasi properti. Contoh berikut mengambil nama semua jenis entity aplikasi dan properti yang terkait dengannya:
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
GQL
SELECT __key__ FROM __property__
Kueri properti: representasi properti
Kueri properti khusus non-kunci, yang dikenal sebagai kueri representasi properti, menampilkan informasi tambahan tentang jenis nilai yang digunakan untuk setiap properti. Properti
property_representation
dalam entity yang mewakili properti p
jenis k adalah array yang berisi semua representasi nilai p dalam
entity apa pun jenis k.
Setiap nilai memiliki representasi berikut (perhatikan bahwa beberapa jenis nilai berbagi representasi):
Jenis nilai | Representasi |
---|---|
Bilangan bulat | INT64 |
Angka floating-point | DOUBLE |
Boolean | BOOLEAN |
String teks | STRING |
String byte | STRING |
Tanggal dan waktu | INT64 |
Kunci Datastore | REFERENCE |
Entity tersemat | STRING |
Array | representasi elemen array |
Titik geografis | POINT |
Null | NULL |
Contoh berikut menemukan semua representasi properti jenis Task
,
menggunakan kueri properti ancestor:
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
GQL
SELECT * FROM __property__ WHERE __key__ HAS ANCESTOR KEY(__kind__, 'Task')
Kueri properti: pemfilteran
Kueri properti mendukung pemfilteran ancestor pada kunci __kind__
atau __property__
, untuk membatasi hasil kueri ke satu jenis atau properti, seperti yang terlihat pada kueri representasi properti di atas.
Kueri properti juga dapat difilter dengan rentang pada pseudo-properti
__key__
, dengan kunci menunjukkan entity __kind__
atau
__property__
. Hasilnya dapat diurutkan dengan nilai __key__
menaik (tetapi tidak menurun). Pemfilteran diterapkan ke pasangan jenis properti, yang diurutkan pertama berdasarkan jenis dan kedua berdasarkan properti. Misalnya, Anda memiliki entity dengan properti berikut:
- jenis
Task
dengan properticreated
priority
tags
- jenis
TaskList
dengan properticreated
Kueri properti khusus kunci berikut:
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Tidak BerlakuJava
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Tidak BerlakuPHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Tidak BerlakuRuby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud Datastore, lihat library klien Cloud Datastore. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Cloud Datastore.
Untuk melakukan autentikasi ke Cloud Datastore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
GQL
SELECT __key__ FROM __property__ WHERE __key__ >= KEY(__kind__, 'Task', __property__, 'priority')
akan mengumpulkan jenis berikut, pasangan nama properti:
Task, priority
Task, tags
TaskList, created
Perhatikan bahwa hasilnya menyertakan properti dari jenis Task
dan TaskList
, tetapi jangan menyertakan properti created
jenis Task
, karena berada di luar rentang yang ditentukan untuk kueri.