代码之家  ›  专栏  ›  技术社区  ›  superninja

Azure CosmosDB延续令牌结构

  •  0
  • superninja  · 技术社区  · 6 年前

    我阅读了很多关于CosmosDB分页的文档,认为令牌应该如下所示:

    {“令牌”:“xxxxxx”,“范围”:{“最小值”:“xxxxxxxxx”,“最大值”:“xxxxxxxxx”}

    但我得到了一个象这样的标记:

    [{“compositeToken\”:{“token\”:\“xxxxxxxxx\”,\“range\”:{“min\”:\“\”,\“max\”:\“05C1B9CD673390\”},\“orderByItems\”:[{“item\”:24},\“rid\”:\“duJVAIns+3n6aaaaaaaaaaaaaa==\”,\“skipCount\”:0,\“filter\”:null}]

    我想知道代币在什么情况下 compositeToken ?

    1 回复  |  直到 6 年前
        1
  •  6
  •   Gaurav Mantri    6 年前

    不是对您的问题的真正回答,但是您不应该尝试基于continuation token的结构来构建逻辑。前一段时间我也有同样的疑问,并要求Cosmos DB团队对此作出解释。

    我被告知的是,延续令牌应该被视为不透明的,也就是说,您不应该从延续令牌的值推断任何东西,也不应该围绕其值构建任何应用程序逻辑。

    应用程序代码只需要关心是否存在延续标记。如果存在continuation标记,这意味着有更多的可用数据与您的查询匹配,您应该将continuation标记与下一个获取下一组数据的请求一起传递。如果continuation标记不存在,则表示没有任何数据与查询匹配。