分页运算符,用于在Azure CosmosDB集合中进行查询

时间:2018-08-02 08:49:01

标签: mysql azure azure-cosmosdb

是否有可用于查询Azure CosmosDB的MySQL的类似OFFSET的标识符,它可以帮助进行分页,尽管它具有 TOP ,它与LIMIT等价,但没有 OFFSET ,分页将很难做。

在SDK中,支持在后续调用中使用延续令牌,但采用纯SQL格式,如果有任何运算符,请务必了解。

2 个答案:

答案 0 :(得分:3)

您描述的行为在CosmosDB中尚不存在。

它是最多requested feature,它被屏蔽为Planned,因此会发生,但是CosmosDB并非使用此功能构建的。

您可以使用Continuation令牌和TOP关键字(在LINQ中为.Take())来解决此问题,但是还没有快速且经济高效的跳过和获取方法。

更新

如果您使用的是C#,则可以使用Cosmonaut,它支持跳过和分页。有关更多信息,请参见here

免责声明,我是宇航员的创建者

答案 1 :(得分:1)

现在,可以通过新的 OFFSET LIMIT 子句在Cosmos DB中使用“跳过并接受”:

SELECT * FROM c ORDER BY c._ts OFFSET 3 LIMIT 20

https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-offset-limit