[英]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.