Objek data di Datastore dikenal sebagai entity, yang masing-masing dikategorikan berdasarkan jenis tertentu untuk tujuan kueri. Misalnya, jika Anda menulis aplikasi sumber daya manusia, Anda dapat mewakili setiap karyawan dengan entity jenis Employee
. Perhatikan bahwa nilai data
entity tersedia dalam bentuk
properti.
Untuk mengetahui informasi selengkapnya tentang entity, lihat dokumen konsep
Entity, Properti, dan Kunci.
Membuat entity dan menyetel properti
Di Go, Anda membuat entity baru dengan membuat instance struct Go, mengisi kolomnya, dan memanggil datastore.Put
untuk menyimpannya ke Datastore. Hanya kolom yang diekspor (dimulai dengan huruf besar) yang akan disimpan ke Datastore. Anda dapat menentukan nama kunci entity dengan meneruskan argumen stringID
yang tidak kosong ke datastore.NewKey
.
Contoh berikut membuat entity jenis Employee
, mengisi nilai propertinya, dan menyimpannya ke Datastore:
Jenis Employee
mendeklarasikan empat kolom untuk model data: FirstName
, LastName
, HireDate
, dan AttendedHRTraining
.
Jika Anda memberikan nama kunci kosong, atau menggunakan datastore.NewIncompleteKey
, Datastore akan otomatis menghasilkan ID numerik untuk kunci entity:
Mengambil entity
Untuk mengambil entity yang diidentifikasi oleh kunci tertentu, teruskan *datastore.Key
sebagai argumen ke fungsi datastore.Get
. Anda dapat membuat *datastore.Key
menggunakan fungsi datastore.NewKey
.
datastore.Get
mengisi instance struct Go yang sesuai.
Mengupdate entity
Untuk memperbarui entity yang ada, ubah atribut struktur, lalu panggil datastore.Put
. Data menimpa entity yang ada. Seluruh objek dikirim ke Datastore pada setiap panggilan ke datastore.Put
.
Menghapus entity
Dengan mempertimbangkan kunci entity, Anda dapat menghapus entity dengan fungsi datastore.Delete
:
Menghapus entity secara massal
Jika Anda perlu menghapus entity dalam jumlah besar, sebaiknya gunakan Dataflow untuk menghapus entity secara massal.
Menggunakan operasi batch
Anda dapat menggunakan operasi batch berikut jika ingin beroperasi di beberapa entity dalam satu panggilan Datastore:
Berikut adalah contoh panggilan batch:
Operasi batch tidak mengubah biaya Anda. Anda akan dikenai biaya untuk setiap kunci dalam operasi batch, terlepas dari apakah setiap kunci ada atau tidak. Ukuran entity yang terlibat dalam operasi tidak memengaruhi biaya.