Setelah mengonstruksi kueri, Anda dapat menentukan sejumlah opsi pengambilan untuk mengontrol lebih lanjut hasil yang ditampilkan. Lihat kueri datastore untuk informasi selengkapnya tentang membuat struktur kueri untuk aplikasi Anda.
Mengambil satu entity
Untuk mengambil hanya satu entity yang cocok dengan kueri Anda, gunakan metode Query.get()
(atau GqlQuery.get()
):
q = Person.all()
q.filter("last_name =", target_last_name)
result = q.get()
Ini akan menampilkan hasil pertama yang ditemukan dalam indeks yang cocok dengan kueri.
Melakukan iterasi melalui hasil kueri
Saat melakukan iterasi melalui hasil kueri menggunakan metode run()
dari objek Query
atau GqlQuery
, Cloud Datastore mengambil hasilnya dalam batch. Secara default, setiap batch berisi 20 hasil, tetapi Anda dapat mengubah nilai ini menggunakan parameter batch_size
metode. Anda dapat terus melakukan iterasi melalui hasil kueri hingga semua hasil kueri ditampilkan atau waktu permintaan habis.
Mengambil properti yang dipilih dari entity
Untuk hanya mengambil properti entity yang dipilih, bukan seluruh entity, gunakan kueri proyeksi. Jenis kueri ini berjalan lebih cepat dan biayanya lebih murah dibandingkan kueri yang menampilkan entity lengkap.
Demikian pula, kueri khusus kunci menghemat waktu dan resource dengan hanya menampilkan kunci ke entity yang cocok, bukan entity lengkap. Untuk membuat jenis kueri ini, tetapkan keys_only=True
saat membuat objek kueri:
q = Person.all(keys_only=True)
Menetapkan batas untuk kueri Anda
Anda dapat menentukan batas kueri untuk mengontrol jumlah maksimum hasil yang ditampilkan dalam satu batch. Contoh berikut mengambil lima orang tertinggi dari Cloud Datastore:
q = Person.all()
q.order("-height")
for p in q.run(limit=5):
print "%s %s, %d inches tall" % (p.first_name, p.last_name, p.height)
Apa langkah selanjutnya?
- Pelajari batasan umum untuk kueri di Cloud Datastore.
- Pelajari query cursor, yang memungkinkan aplikasi mengambil hasil kueri dalam batch yang mudah.
- Pahami konsistensi data dan cara kerja konsistensi data pada berbagai jenis kueri di Cloud Datastore.
- Pelajari sintaksis dasar dan struktur kueri untuk Cloud Datastore.