我想搜索名称以特定字符串开头的所有实体,这在数据存储区中可能吗?
我已经试过了:
q = datastore.NewQuery("Places").Filter("Name > ", "a")
但这是行不通的。
如果这不可能,您可以向我建议什么替代解决方案?BigQuery?BigTable或App Engine上的其他服务?
这是可能的,但是要结合使用2个不等式过滤器。
假设您要列出Places
具有"li"
前缀的列表。这可以用查询来描述,该查询列出按字典顺序列出Places
的大于(或等于)"li"
且小于前缀(即下一个字符串)的前缀。"li"
"lj"
这就是GQL的样子:
SELECT * FROM Places WHERE Name > 'li' AND Name < 'lj'
用Go编码,它看起来像这样:
q = datastore.NewQuery("Places").Filter("Name >", "li").Filter("Name <", "lj")
这将列出Places
名称的位置,例如:
liam
lisotto
lizst
但将排除以下名称:
abc
ljoi
lj
qwerty
需要注意的一件事:小写字母和大写字母在字典顺序上是不同的,因此例如"List"
小于"li"
(即使"list"
大于"li"
)!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句