Mencari Rentetan Awalan dalam Google App Engine Datastore
Menyoal Google App Engine Datastore untuk mendapatkan semula entiti berdasarkan awalan boleh dicapai melalui gabungan penapis ketaksamaan.
Untuk mencari semua entiti di mana sifat "Nama" bermula dengan rentetan tertentu, gunakan pertanyaan GQL seperti berikut:
SELECT * FROM Places WHERE Name > 'prefix' AND Name < 'prefix' + '\xFF'
Sebagai alternatif, dalam kod Go, pertanyaan boleh dinyatakan sebagai:
q := datastore.NewQuery("Places").Filter("Name >", "prefix").Filter("Name <", "prefix" + "\xFF")
Pendekatan ini memastikan bahawa pertanyaan itu mendapatkan semula entiti dengan nama yang lebih besar daripada (atau sama dengan) awalan yang ditentukan dan kurang daripada rentetan leksikografi seterusnya dalam urutan. Contohnya, untuk awalan "li", ia akan sepadan dengan nama seperti "liam," "lisotto" dan "lizst" tetapi mengecualikan nama seperti "abc," "ljoi" atau "qwerty."
Harap maklum bahawa pertanyaan adalah sensitif huruf besar-besaran, bermakna "Senarai" dan "li" dianggap sebagai nilai yang berbeza dalam susunan leksikografi.
Atas ialah kandungan terperinci Bagaimana untuk Menyoal Datastore untuk Rentetan Awalan dalam Enjin Apl Google?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!