gpt4 book ai didi

javascript - 如何在 Google Firestore 中进行分页?

转载 作者:行者123 更新时间:2023-11-30 21:04:24 30 4
gpt4 key购买 nike

我有这个列表:a b c d e f g h i j。我想从所选项目周围的列表中获取 3 个项目。如果我选择了 e,结果列表应该是 d e f,如果我选择了 f,结果应该是 e f g等等。

我做了这个例子:

console.clear()
var pag = dbFirestore.collection("pagination")
pag.doc("a").set({parent:"vowels"})
pag.doc("e").set({parent:"vowels"})
pag.doc("i").set({parent:"vowels"})
pag.doc("o").set({parent:"vowels"})
pag.doc("u").set({parent:"vowels"})
pag.doc("y").set({parent:"vowels"})
pag.doc("b").set({parent:"consonants"})
pag.doc("c").set({parent:"consonants"})
pag.doc("d").set({parent:"consonants"})
pag.doc("f").set({parent:"consonants"})
pag.doc("g").set({parent:"consonants"})
pag.doc("h").set({parent:"consonants"})
pag.doc("j").set({parent:"consonants"})
pag.doc("k").set({parent:"consonants"})
pag.doc("l").set({parent:"consonants"})
pag.doc("m").set({parent:"consonants"})
pag.doc("n").set({parent:"consonants"})
pag.doc("p").set({parent:"consonants"})
pag.doc("q").set({parent:"consonants"})
pag.doc("r").set({parent:"consonants"})
pag.doc("s").set({parent:"consonants"})
pag.doc("t").set({parent:"consonants"})
pag.doc("v").set({parent:"consonants"})
pag.doc("w").set({parent:"consonants"})
pag.doc("x").set({parent:"consonants"})
var siblings = ref => {
var out = []
return pag.orderBy("parent").endAt(ref).limit(3).get().then(snap=>{
snap.forEach(doc=>out.push(doc.id))
return
}).then(()=>{
return pag.orderBy("parent").startAfter(ref).limit(2).get().then(snap=>{
snap.forEach(doc=>out.push(doc.id))
return out
})
})
}
siblings(pag.doc("m")).then(out=>{
console.log(out)
}).catch(e=>console.error(e))

out 中使用 sibling("m").then(out=>console.log(out)) 我应该有 k l m n p ,它们都有 parent:"consonants",第一个查询的 k l m 和第二个查询的 n p,但我还有其他东西。

最佳答案

firebase 上有关于 Pagination & Query 的文档.我们必须使用 startAt() 或 startAfter() 方法来定义查询的起点。同样,使用 endAt() 或 endBefore() 方法定义查询结果的终点。

关于javascript - 如何在 Google Firestore 中进行分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46793566/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com