Maison > développement back-end > Golang > Est-il possible de rechercher des entités dont les noms correspondent à des préfixes dans la banque de données App Engine ?

Est-il possible de rechercher des entités dont les noms correspondent à des préfixes dans la banque de données App Engine ?

DDD
Libérer: 2024-10-24 07:08:02
original
1050 Les gens l'ont consulté

Is it Possible to Query for Entities with Prefix-Matched Names in App Engine Datastore?

Rechercher des entités avec des noms préfixés dans la banque de données Google App Engine

Question :

Est-ce Est-il possible de récupérer des entités de Datastore où un champ spécifique commence par une chaîne donnée ? Malgré la tentative de requête suivante, je ne parviens pas à obtenir les résultats souhaités :

q = datastore.NewQuery("Places").Filter("Name >", "a")
Copier après la connexion

Réponse :

L'interrogation d'entités basée sur un préfixe de champ est en effet prise en charge dans Datastore , mais cela nécessite la conjonction de deux filtres d'inégalité.

Par exemple, pour récupérer des lieux dont le nom commence par "li", la requête doit spécifier que le champ Nom est supérieur (ou égal à) "li" et moins que "lj". En effet, "lj" est le préfixe lexicographique suivant.

En GQL, cette requête apparaîtrait comme :

SELECT * FROM Places WHERE Name > 'li' AND Name < 'lj'
Copier après la connexion

En code Go, la requête prend la forme :

q = datastore.NewQuery("Places").Filter("Name >", "li").Filter("Name <", "lj")
Copier après la connexion

Cette requête renverra des lieux portant des noms tels que :

liam
lisotto
lizst
Copier après la connexion

Cependant, elle exclura les noms ressemblant à :

abc
ljoi
lj
qwerty
Copier après la connexion

Notez que les lettres majuscules et minuscules ont des caractères lexicographiques distincts. ordres. Ainsi, "List" précède "li", tandis que "list" suit "li".

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
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal