Wie führe ich mit Go „IN-Array'-Abfragen im Google App Engine-Datenspeicher aus?

Patricia Arquette
Freigeben: 2024-10-26 02:52:02
Original
1021 Leute haben es durchsucht

How to Execute

Ausführen von „IN Array“-Abfragen im Google App Engine-Datenspeicher mit Go

Durchführen einer „IN Array“-Abfrage, bei der mehrere Werte für eine bestimmte Eigenschaft im Datenspeicher überprüft werden , erfordert einen anderen Ansatz in Go, da für diese Art von Abfrage keine native Unterstützung vorhanden ist.

1. Sequentielle Abfragen

Eine Möglichkeit besteht darin, separate Abfragen für jedes Element im Array auszuführen, nach dem Sie filtern möchten. Zum Beispiel:

<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>
Nach dem Login kopieren

2. Kontinuierlicher Bereich (nur für kontinuierliche Arrays)

Wenn die Elemente im Array einen kontinuierlichen Bereich bilden, können Sie den „IN“-Filter durch die Operatoren >= und <= ersetzen. Zum Beispiel:

<code class="go">ids := []int64{1, 2, 3, 4}
q := datastore.NewQuery("Category").Filter("Id >=", 1).Filter("Id <=", 4)</p>
<h3>3. datastore.GetMulti()</h3>
<p>Wenn die Eigenschaft, nach der gefiltert werden soll, der Entitätsschlüssel selbst ist, können Sie mit der Funktion datastore.GetMulti() eine Liste von Entitäten basierend auf einem Array ihrer Schlüssel abrufen.</p> <pre class="brush:php;toolbar:false"><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>
Nach dem Login kopieren

Hinweis: Denken Sie daran, dass zusammengesetzte Filter, die AND verwenden, unerwartete Ergebnisse liefern können, da mehrere Filter logisch als solche angewendet werden.

Das obige ist der detaillierte Inhalt vonWie führe ich mit Go „IN-Array'-Abfragen im Google App Engine-Datenspeicher aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage