Mengambil hasil kueri

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?