是否有可用于查询Azure CosmosDB的MySQL的类似OFFSET的标识符,它可以帮助进行分页,尽管它具有 TOP ,它与LIMIT等价,但没有 OFFSET ,分页将很难做。
在SDK中,支持在后续调用中使用延续令牌,但采用纯SQL格式,如果有任何运算符,请务必了解。
答案 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