首页 > 后端开发 > Golang > 是否可以在 App Engine 数据存储区中查询名称与前缀匹配的实体?

是否可以在 App Engine 数据存储区中查询名称与前缀匹配的实体?

DDD
发布: 2024-10-24 07:08:02
原创
1055 人浏览过

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

在 Google App Engine 数据存储区中搜索带有前缀名称的实体

问题:

是吗从数据存储中检索特定字段以给定字符串开头的实体是否可行?尽管尝试了以下查询,但我无法获得所需的结果:

q = datastore.NewQuery("Places").Filter("Name >", "a")
登录后复制

答案:

数据存储中确实支持基于字段前缀查询实体,但它需要两个不等式过滤器的结合。

例如,要检索名称以“li”开头的地点,查询应指定名称字段大于(或等于)“li”并且小于“lj”。这是因为“lj”是按字典顺序排列的后续前缀。

在 GQL 中,此查询将显示为:

SELECT * FROM Places WHERE Name > 'li' AND Name < 'lj'
登录后复制

在 Go 代码中,查询采用以下形式:

q = datastore.NewQuery("Places").Filter("Name >", "li").Filter("Name <", "lj")
登录后复制

此查询将生成名称如下的地点:

liam
lisotto
lizst
登录后复制

但是,它将排除类似以下的名称:

abc
ljoi
lj
qwerty
登录后复制

请注意,大写字母和小写字母具有不同的字典顺序订单。因此,“List”在“li”之前,而“list”在“li”之后。

以上是是否可以在 App Engine 数据存储区中查询名称与前缀匹配的实体?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板