Maison  >  Article  >  développement back-end  >  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

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
Linda Hamiltonoriginal
2024-10-27 05:50:29782parcourir

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>

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>

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!

Déclaration:
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