Maison > développement back-end > Golang > le corps du texte

Voici quelques options de titre, combinant le format questions-réponses en mettant l'accent sur le problème et la solution : Direct et concis : * Comment effectuer une requête par tableau d'ID dans Google App Engine Datastore (Go) ? * Banque de données Q

Linda Hamilton
Libérer: 2024-10-27 05:50:29
original
781 Les gens l'ont consulté

Here are a few title options, combining the Q&A format with a focus on the problem and solution:

Direct and Concise:

* How to Query by ID Array in Google App Engine Datastore (Go)?
* Datastore Queries with ID Arrays: Workarounds for

Utilisation des requêtes "IN Array" dans la banque de données Google App Engine avec Go

Requête par tableau d'ID

Q : Comment puis-je effectuer une requête sur la banque de données qui inclut un tableau d'ID ?

R : La banque de données ne prend pas en charge de manière native les requêtes "IN".

Plusieurs Requêtes

Une solution de contournement consiste à exécuter des requêtes distinctes pour chaque élément du tableau ID. Alternativement, si les identifiants sont dans une plage continue, vous pouvez utiliser les opérateurs ">=" et "<=" :

<code class="go">ids := []int64{1, 2, 3, 4}
q := datastore.NewQuery("Category").Filter("Id>=", 1).Filter("Id<=", 4)</p>
<p><strong>GetMulti</strong></p>
<p> Pour les requêtes sur la propriété de clé d'entité, vous pouvez utiliser la fonction datastore.GetMulti() :</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)</code>
Copier après la connexion

Comportement du filtre

Notez que plusieurs Query.Filter() les appels entraîneront une connexion ET entre les filtres. Cela peut produire des résultats inattendus si vous attendez une connexion OU. Assurez-vous de stocker la requête renvoyée et de l'utiliser comme base pour les filtres suivants :

<code class="go">q := q.Filter("Id=", id)</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!