【问题标题】:Query by key and order by date按键查询,按日期排序
【发布时间】:2015-05-08 16:30:54
【问题描述】:

我有一个包含大量“列表”结构的数据库:

我想获得 10 个列表,以某个优先级值开始或结束,大小值(子节点)范围在 9 到 10.5 之间,并按日期排序结果。

我查看了大量 SO 帖子和 Firebase 示例,但似乎找不到任何解决方案。

在 Firebase 中真的不可能吗?据我所知,这是一个很常见的用例。

有什么解决办法吗?如果没有,您将如何解决?

【问题讨论】:

  • 请分享示例代码作为起点。不是每个人都熟悉 Firebase。另外,为什么这被标记为 [ios]?
  • 您目前可以在每个查询中调用一次orderBy。因此,唯一的解决方法是将您要使用的属性组合成一个属性并对其进行排序/过滤。

标签: firebase


【解决方案1】:

您可能需要查看 Firebase 文档中的 Complex Queries

查看范围查询。 startAt()endAt() 允许您通过设置查询的起点和终点来寻找具有特定尺寸的鞋子。

例如,如果我们要查找介于 910.5 之间的所有鞋子,请组合 orderByChild()startAtendAt。比如:

var ref = new Firebase(URL);
ref.orderByChild("timestamp").startAt("9").endAt("10.5").on("child_added", function(snapshot) {
    console.log(snapshot.key());
});

如果您可以提供代码示例,那么您可以更轻松地确定解决方案。如果您想通过多个键对查询进行排序,您可能需要调整您的数据模型。

【讨论】:

    猜你喜欢
    • 2021-08-13
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2014-01-11
    相关资源
    最近更新 更多