首頁  >  文章  >  後端開發  >  如何使用 Go 在 Google App Engine 資料儲存中執行「IN Array」查詢?

如何使用 Go 在 Google App Engine 資料儲存中執行「IN Array」查詢?

Patricia Arquette
Patricia Arquette原創
2024-10-26 02:52:02957瀏覽

How to Execute

使用Go 在Google App Engine 資料儲存區執行「IN Array」查詢

執行「IN Array」查詢,其中檢查資料儲存區中特定屬性的多個值,由於缺乏對此類查詢的本機支持,因此需要在Go 中採用不同的方法。

1.順序查詢

一種選擇是對數組中要作為篩選依據的每個元素執行單獨的查詢。例如:

<code class="go">ids := []int64{1, 2, 3, 4}
for _, id := range ids {
    q := datastore.NewQuery("Category").Filter("Id =", id)
    // Execute the query and process the results for each element
}</code>

2。連續範圍(僅適用於連續陣列)

如果陣列中的元素形成連續範圍,則可以使用 >= 和

<code class="go">ids := []int64{1, 2, 3, 4}
q := datastore.NewQuery("Category").Filter("Id >=", 1).Filter("Id <=", 4)</code>

3。 datastore.GetMulti()

如果要過濾的屬性是實體鍵本身,您可以使用 datastore.GetMulti() 函數根據實體鍵數組檢索實體列表。

<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 {
    return nil, err
}</code>

注意:請記住,使用 AND 的複合過濾器可能會傳回意外結果,因為多個過濾器將按邏輯應用。

以上是如何使用 Go 在 Google App Engine 資料儲存中執行「IN Array」查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn