发布于 2014-08-14 19:39:20
即使具有"!=“过滤器的语言实际上也将其分解为两个不等式过滤器(一个>和一个<)。也许做等价物能解决你的问题?
从param != "test“的表中选择*
变得相等于
从表中选择* param > "test“
合并的结果
从param < "test“的表中选择*
不太理想,但鉴于平台的局限性.我想这是你唯一的选择。
发布于 2014-08-14 19:54:45
在您所链接的页面中,实际上有一个如何执行此类查询的示例。
来自对查询的限制
不等式过滤器最多仅限于一个属性 为了避免扫描整个索引表,查询机制依赖于查询的所有潜在结果在索引中彼此相邻。为了满足这个约束,一个查询不能在其所有过滤器中的多个属性上使用不等式比较(<,<=,>,>=)。例如,以下查询是有效的,因为两个不等式过滤器都应用于相同的属性:
q := datastore.NewQuery("Person").
Filter("BirthYear >=", minBirthYear).
Filter("BirthYear <=", maxBirthYear)https://stackoverflow.com/questions/25316238
复制相似问题