2

我阅读了很多关于 CosmosDB 分页的文档,并认为令牌应该看起来像这样:

{\"token\":\"xxxxxx\",\"range\":{\"min\":\"xxxxxxxxxx\",\"max\":\"xxxxxxxxxx\"}}

但我得到了一个看起来像这样的令牌:

[{\"compositeToken\":{\"token\":\"xxxxxxxxx\",\"range\":{\"min\":\"\",\"max\":\"05C1B9CD673390\" }},\"orderByItems\":[{\"item\":24}],\"rid\":\"duJVAIns+3N6AAAAAAAAAA==\",\"skipCount\":0,\"filter\" :无效的}]

我想知道令牌在什么情况下会有compositeToken

4

1 回答 1

6

不是您问题的真正答案,但您不应该尝试基于延续令牌的结构构建逻辑。前段时间我也有同样的疑问,并要求 Cosmos DB 团队对此进行解释。

我被告知应将延续令牌视为不透明的,即您不应从延续令牌的值推断任何内容,也不应围绕其值构建任何应用程序逻辑。

应用程序代码唯一应该关心的是继续令牌的存在与否。如果存在延续令牌,则意味着有更多可用数据与您的查询匹配,您应该将延续令牌与您的下一个请求一起传递以获取下一组数据。如果不存在延续令牌,则意味着没有更多与您的查询匹配的数据。

于 2018-08-17T20:17:55.793 回答