簡體   English   中英

返回與原始條目相同的條目后的 Faunadb

[英]Faunadb after returning the same entries as the original ones

我正在使用 faunadb 和 vuejs 在滾動上創建分頁。 為了實現分頁,我傳遞了原始響應中最后一個條目的 ref,並使用 after 進行查詢,出於某種原因,我仍然得到與原始數組相同的響應。 值得一提的是,我的初始查詢是基於時間戳屬性的反向查詢,因為首先獲取最新的項目。 我認為這不會引起問題,歡迎提出任何建議。 我的初始查詢沒有 after 字段。

await client.query(
    q.Map(
      q.Paginate(
        q.Match(q.Index("school_query_reverse")),
        {
          after: [q.Ref(q.Collection("school_queries"), params.params.id)],
          size: 100
        }
      ),
      q.Lambda([
        'ts',
        'ref'
      ],
        q.Get(q.Var("ref"))
      )
    )
  )

這是一個重復的問題,我已經在這里回答 你會考慮編輯那個而不是用額外的信息打開一個新的來保持 Stack Overflow 的井井有條嗎?

鑒於您的索引包含兩個值(ts 和 ref),我可以從您的 lambda 和您之前的問題中推導出來,此 after 語法將不起作用。 您必須至少指定三個值。 這樣的光標將如下所示:

  after: [
      1599220462170000,
      Ref(Collection("school_queries"), "275735235372515847"),
      Ref(Collection("school_queries"), "275735235372515847")
    ]

您可能想知道為什么那里有三個值。 那是因為索引包含您的引用,並且該引用始終添加到游標中。 在索引中再次使用它會導致它被添加兩次。 為什么和/或我們是否不能優化我不知道,但這就是它目前的工作方式:)。

如果我在您的查詢中調整 after ,那將變成:

 after: [
    1599220462170000,
    q.Ref(q.Collection("school_queries"), params.params.id)
    q.Ref(q.Collection("school_queries"), params.params.id)
  ]

為了繼續分頁,我在之后添加了以下內容:[1599220462170000],這將在時間戳之后繼續排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM