谷歌云数据存储不允许进行 SQL 风格的搜索查询,如
SELECT * FROM Person WHERE Name LIKE "Rob*"
那会返回Rob, Robert, Roberto, Roberta, Roby等等。
GCP数据存储区仅允许使用运算符过滤字段:>, >=, <, <=使用以下规则:
任何大写字母都小于任何小写字母
a < b < c < ... < z
有了这些规则,查询
query := datastore.NewQuery("Person").Filter("Name >= ", "Rob").Order("Name")不仅会返回名称以 开头的所有 Person,Rob还会返回名称大于Rob(Ruben, Sarah, Zoe) 的所有 Person 以及名称以小写字母开头的所有 Person。
这篇文章是我在 Go 中找到的一个 hack,用于模拟 SQL 风格的搜索查询。
鸿蒙传说
慕妹3242003
慕盖茨4494581
随时随地看视频慕课网APP
相关分类