Bagaimana untuk Mendapatkan Entiti dengan Susunan ID dalam Google App Engine Datastore menggunakan Golang?

Barbara Streisand
Lepaskan: 2024-10-25 17:32:44
asal
470 orang telah melayarinya

How to Retrieve Entities by an Array of IDs in Google App Engine Datastore using Golang?

Mencari Datastore untuk Entiti dengan Tatasusunan ID menggunakan Golang

Dalam Google App Engine Datastore, tiada sokongan langsung untuk melaksanakan " IN" untuk mendapatkan semula entiti berdasarkan tatasusunan ID. Walau bagaimanapun, terdapat pendekatan alternatif untuk mencapai fungsi ini.

Pertanyaan dengan Julat (Jika ID Berturut-turut)

Jika ID membentuk julat berterusan, anda boleh menggunakan ">" (lebih besar daripada) dan "<=" (kurang daripada atau sama dengan) pengendali untuk menentukan julat ID untuk pertanyaan. Contohnya:

<code class="go">ids := []int64{1, 2, 3, 4}
q := datastore.NewQuery("Category").Filter("Id>=", 1).Filter("Id<=", 4)</p>
<p><strong>Laksanakan Berbilang Pertanyaan</strong></p>
<p>Untuk ID yang tidak berada dalam julat berterusan, anda boleh melaksanakan pertanyaan berasingan untuk setiap ID dalam tatasusunan. Ini melibatkan mencipta objek Pertanyaan baharu untuk setiap ID dan menapis mengikut ID tersebut.</p>
<pre class="brush:php;toolbar:false"><code class="go">for _, id := range ids {
    q := datastore.NewQuery("Category").Filter("Id =", id)
    // ... perform query and retrieve entities
}</code>
Salin selepas log masuk

GetMulti Function

Jika sifat yang anda tapis ialah kunci entiti itu sendiri, anda boleh menggunakan fungsi datastore.GetMulti() untuk mendapatkan semula senarai entiti berdasarkan tatasusunan kuncinya.

<code class="go">var keys []*datastore.Key

for _, id := range ids {
    keys = append(keys, datastore.NewKey(c, "Category", "", id, nil))
}

categories := make([]Category, len(keys))
err := datastore.GetMulti(c, keys, categories)
if err != nil {
    // Handle error
}</code>
Salin selepas log masuk

Nota:

Apabila menggunakan kaedah Penapis() untuk menentukan berbilang penapis, ia akan digabungkan dengan operasi DAN. Oleh itu, percubaan anda untuk menapis mengikut berbilang ID menggunakan q.Filter("Id =", id) berkemungkinan tidak akan menghasilkan entiti yang sepadan melainkan semua ID wujud dalam entiti yang sama.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Entiti dengan Susunan ID dalam Google App Engine Datastore menggunakan Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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!