微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Faunadb如何对按时间戳排序的索引进行分页

如何解决Faunadb如何对按时间戳排序的索引进行分页

我在动物群db上创建了一个排序索引,以便按时间戳排序,以便首先获取最新的项目,我试图一次检索100个项目,问题是当我从结果中输入after参数时,我收到的结果与初始结果相同。

这是我创建的索引

  CreateIndex({
  name: "all_school_queries",source: Collection('<school_queries_reversed>'),values:   values: [
     {
       field: ["ts",{reverse: true}]
     },{
       field: ["ref"]
     }
  ]
})

这就是我查询数据库的方式

    Map(
      Paginate(Match(Index("school_query_reverse")),{
        after: [ Ref(Collection("collection_name"),'collection ref from first query')],}),Lambda(
        ['ts',"ref"],Get(Var("ref"))
      )

)

这是第一个结果

    {
  before: [Ref(Collection("collection_name"),"275484304279077376")],after: [
    1598907150720000,Ref(Collection("school_queries"),"12345"),"12345")
  ],

***我在1598907150720000之后都使用了tiemtamp和参考文献12345。我首先尝试在控制台上确保收到正确的响应,但是从之后输入任何一个结果时,我都得到相同的结果。 / p>

解决方法

我将尝试回答您的问题(我是FaunaDB的开发助理)。我不得不说,由于语法对我来说似乎没有意义,因此我对您的问题感到很困惑,因此,如果您不是您要找的答案,我深表歉意。

我很困惑的事情。

  • 索引语法错误,您将其复制到某个地方还是手动重写了?如果您将其复制到某处,则可能会显示错误,因此请告知我。索引名称与您使用的名称不匹配,因此我认为这是一个错字。
  • ,在集合名称中颠倒对我来说似乎没有意义,因为反向是在索引而不是集合上定义的。

不过没关系,我尝试重现您的问题,因为我不知道数据的外观,因此我将其简化了。 enter image description here

我使用的索引如下:

CreateIndex({
   name: "all_school_queries",source: Collection('school_queries'),values: [
     {
       field: ["ts"],reverse: true
     },{
       field: ["ref"]
     }
  ]
})

如果我再按以下方式查询此索引:

Map(
  Paginate(Match(Index("all_school_queries")),{size: 1}),Lambda(
     ['ts',"ref"],Get(Var("ref"))
  )
)

我确实得到了我首先添加的最后一个元素(反向索引)

{
  after: [
    1599220462170000,Ref(Collection("school_queries"),"275735235372515847"),"275735235372515847")
  ],data: [
    {
      ref: Ref(Collection("school_queries"),"275735244842205703"),ts: 1599220471200000,data: {
        query: "bli"
      }
    }
  ]
}

,当我使用返回的after游标获取下一页时(这里我仅指定了一个元素的页面):

Map(
      Paginate(Match(Index("all_school_queries")),{size: 1,after: [
        1599220462170000,"275735235372515847")
      ]}),Lambda(
        ['ts',Get(Var("ref"))
      )
)

我确实得到了预期的其他元素。


{
  before: [
    1599220462170000,ts: 1599220462170000,data: {
        query: "bla"
      }
    }
  ]
}

那对你不起作用吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。