__key__上。在这种情况下,您可以在反向查询中使用游标,该查询是原始查询,每个排序顺序都颠倒了。反向查询可以修改开始游标、结束游标、偏移量和限制。虽然只有__key__可以以相反的顺序使用,但是它似乎也可以在另一个创建自定义索引的属性中使用。我在开发环境和生产环境中都试过了。
什么是“如果原始查询的最后排序顺序在__key__上的异常”?
发布于 2017-06-14 13:29:26
让我用一个简单的例子来澄清这一点:
假设您有一个查询(省略游标/限制语法)-
SELECT * FROM MyEntity ORDER BY PROP1 ASC 现在的要求是,您需要在正向和反向方向上遍历,并使用游标。
您需要做的第一件事是修改查询,使__key__作为最后一种类型-
SELECT * FROM Entity ORDER BY PROP1 ASC, __key__ ASC 您通常可以使用游标向前遍历,但是当您需要向后遍历时,您需要通过颠倒排序顺序来执行查询。您仍然可以使用同一页上的游标。因此,查询将更改为
SELECT * FROM Entity ORDER BY PROP1 DESC, __key__ DESC注意,我们已经将ASC结束顺序更改为DESCendng。
这将从本质上为您提供来自当前光标位置的先前记录。为了使其工作,您需要有适当的复合索引(例如,PROP1和__key__上的索引按DESC顺序排列)。当然,您也可以向排序顺序添加其他属性,或者从示例中删除PROP1,如果您对按键排序的结果很满意的话。
如果使用out 键作为最后一种类型,您将无法使用在反向顺序查询中获得的游标。这就是“例外”规则是什么。
https://stackoverflow.com/questions/44534512
复制相似问题