按键查询和日期排序

Query by key and order by date

我有一个数据库,其中有很多 "listings" 结构如下:

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

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

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

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

您可能需要查看 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());
});

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