Adakah Mungkin untuk Membuat Pertanyaan untuk Entiti dengan Nama Padanan Awalan dalam App Engine Datastore?

DDD
Lepaskan: 2024-10-24 07:08:02
asal
985 orang telah melayarinya

Is it Possible to Query for Entities with Prefix-Matched Names in App Engine Datastore?

Cari Entiti dengan Nama Awalan dalam Google App Engine Datastore

Soalan:

Adakah layak untuk mendapatkan semula entiti daripada Datastore di mana medan tertentu bermula dengan rentetan tertentu? Walaupun mencuba pertanyaan berikut, saya tidak dapat memperoleh hasil yang diingini:

q = datastore.NewQuery("Places").Filter("Name >", "a")
Salin selepas log masuk

Jawapan:

Entiti pertanyaan berdasarkan awalan medan sememangnya disokong dalam Datastore , tetapi ia memerlukan gabungan dua penapis ketaksamaan.

Sebagai contoh, untuk mendapatkan semula Tempat dengan nama bermula dengan "li", pertanyaan harus menyatakan bahawa medan Nama lebih besar daripada (atau sama dengan) "li" dan kurang daripada "lj." Ini kerana "lj" ialah awalan seterusnya dari segi leksikografi.

Dalam GQL, pertanyaan ini akan muncul sebagai:

SELECT * FROM Places WHERE Name > 'li' AND Name < 'lj'
Salin selepas log masuk

Dalam kod Go, pertanyaan itu dalam bentuk:

q = datastore.NewQuery("Places").Filter("Name >", "li").Filter("Name <", "lj")
Salin selepas log masuk

Pertanyaan ini akan menghasilkan Tempat dengan nama seperti:

liam
lisotto
lizst
Salin selepas log masuk

Walau bagaimanapun, ia akan mengecualikan nama yang menyerupai:

abc
ljoi
lj
qwerty
Salin selepas log masuk

Perhatikan bahawa huruf besar dan huruf kecil mempunyai leksikografi yang berbeza pesanan. Oleh itu, "Senarai" mendahului "li", manakala "senarai" mengikuti "li."

Atas ialah kandungan terperinci Adakah Mungkin untuk Membuat Pertanyaan untuk Entiti dengan Nama Padanan Awalan dalam App Engine Datastore?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!