gpt4 book ai didi

javascript - 加载特定子项周围的邻居子项的最佳策略是什么(最好使用一个查询)?

转载 作者:行者123 更新时间:2023-12-03 06:06:51 25 4
gpt4 key购买 nike

如果我们有以下对象:

{
"child01": {
"rating": 1
},
"child02": {
"rating": 2
},
"child03": {
"rating": 3
},
"child04": {
"rating": 4
},
"child05": {
"rating": 5
},
"child06": {
"rating": 6
},
"child07": {
"rating": 7
}
}

目标是获取特定子项的前 2 个和后 2 个子项,例如评分等于 4 的子项,最好通过一次查询。

预期结果是:

child02
child03
child04 (The child of interest)
child05
child06

我的第一个猜测是使用:

ref.orderByChild('rating').equalTo(4).limitToFirst(3).limitToLast(4)

但是我们似乎不能同时使用这两个限制

有什么方法可以在我正在监督的一个请求中查询这一点吗?

如果没有,实现这一目标的最佳策略是什么?

谢谢

最佳答案

假设您有完整的 JSON:

{
"child01": {
"rating": 1
},
"child02": {
"rating": 3
},
"child03": {
"rating": 3
},
"child04": {
"rating": 3
},
"child05": {
"rating": 5
},
"child06": {
"rating": 3
},
"child07": {
"rating": 7
}
}

如果您希望前三个 child 的评级等于 3,您可以查询:

ref.orderByChild('rating').equalTo(3).limitToFirst(3)

child02

child03

child04

如果您想要相同的内容,但从 child3 开始:

ref.orderByChild('rating').startAt(3, 'child03').limitToFirst(3)

child03

child04

child06

如果您想要 child3 之后的下三个 sibling ,您可以简单地执行以下操作:

ref.orderByKey().startAt('child03').limitToFirst(3)

child03

child04

child05

工作代码请参见 http://jsbin.com/noziri/edit?js,console

关于javascript - 加载特定子项周围的邻居子项的最佳策略是什么(最好使用一个查询)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39503809/

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