【问题标题】:Firebase REST orderby nested child of autogenerate ID?Firebase REST orderby自动生成ID的嵌套子级?
【发布时间】:2018-07-17 21:16:33
【问题描述】:

如何通过嵌套子级请求 firebase order?我的示例数据如下所示:

ROOT
 |
 +-- post
 |     |
 |     +-- -LHRgRaBkEbh2J04sZcM
 |            |
 |            +-- vote: 1
 |     +-- -LHRgqbaxDTa5Jl6Wdar
 |            |
 |            +-- vote: 2
 |     +-- -LHRtsJhu4yl1vi4JS2X
 |            |
 |            +-- vote: 3
 |

根据 firebase 文档,您可以这样做:

curl 'https://dinosaur-facts.firebaseio.com/dinosaurs.json?orderBy="dimensions/height"&startAt=3&print=pretty'

但我不能这样做,因为父节点是自动生成的。

orderBy="parent/vote"

我该如何克服这个问题?

【问题讨论】:

    标签: rest firebase firebase-realtime-database


    【解决方案1】:

    Firebase 数据库查询获取您查询的位置下的每个子节点,然后在您指定的属性上对它们进行排序。因此,它们会在您查询的位置下自动跳过一个级别。

    curl 'https://your-db.firebaseio.com/post.json?orderBy="vote"&startAt=3&print=pretty'
    

    请注意,这返回正确的结果(从 3 开始),但结果将排序(因为 JSON 中的键根据定义是无序的) .

    【讨论】:

    • 太棒了,谢谢!我通过将 .indexOn 添加到规则中来让它工作,这是工作!
    • 你能告诉我如何通过“投票”对它们进行排序吗?假设我有 1000 多个帖子。我应该从 firebase 加载所有帖子并在应用程序上对其进行排序吗?它会以这种方式降低性能和用户体验吗?
    • 搞清楚。 limitToLast 完成了这项工作!
    猜你喜欢
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 2023-04-05
    • 2018-08-03
    • 2016-11-12
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多