在特定子节点周围加载相邻子节点的最佳策略是什么?最好是使用一个查询
What's the best strategy to load the neighbor children around a specific child, preferably with one query?
如果我们有以下对象:
{
"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
}
}
如果您想要前三个等级等于3
的子代,您需要查询:
ref.orderByChild('rating').equalTo(3).limitToFirst(3)
child02
child03
child04
如果您想要相同的,但从child3
开始:
ref.orderByChild('rating').startAt(3, 'child03').limitToFirst(3)
child03
child04
child06
如果您想要child3
之后的三个兄弟姐妹,您可以简单地执行:
ref.orderByKey().startAt('child03').limitToFirst(3)
child03
child04
child05
工作代码请参见http://jsbin.com/noziri/edit?js,console
相关文章:
- 选择<李>使用普通JavaScript的子节点,而不是孙节点
- js循环遍历单击的元素子节点
- 如何将数据添加到json的子节点
- 删除HTML节点而不删除其子节点
- 如何在javascript DOM api中获取具有给定条件的子节点
- 仅使用某些子节点访问xml中父节点的子节点
- 检测单击子节点并发送槽事件处理程序
- 从 d3.js 中的树中选择节点的子节点
- 访问所选剑道树视图节点的子节点
- 为什么正文标记后的脚本标记在子节点中计数
- 难以获取使用属性选择的节点的子节点
- 使用Javascript设置带有子节点的父节点的类's文本等于.
- 如何确定父节点是否有子节点
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- Javascript - 子节点计数
- 在子节点上重复
- 如何在D3.js基于力的标签布局图中获取公共子节点
- 如何访问React中的子节点
- 我可以确定查询是否在指定范围内找不到任何具有值的子节点
- 在特定子节点周围加载相邻子节点的最佳策略是什么?最好是使用一个查询