当前位置: 首页 > 知识库问答 >
问题:

Firebase中多个where子句的查询

申昌勋
2023-03-14

下面是我开始使用的代码,但我不确定该去哪里。看看这个问题的解决方案,我似乎需要根据下面的查询下载数据,然后在客户端对其进行排序。我似乎做不到的事

  firebase.database().ref('tshirts')
    .orderByChild('brandStartsWith')
    .equalTo('A')
    .once('value', function (snapshot) {
       console.log(snapshot.val())
   })

共有1个答案

端木淇
2023-03-14

您需要创建一个组合键,因为一次只能执行一个where子句。

{
    "tShirts" : {
        "brandStartsWith" : 'A',
        "salesRank" : 5
        "brandStartsWith_salesRank" = 'A_00005' //pad for as many sales ranks as you have
    }, {
        "brandStartsWith" : 'B',
        "salesRank" : 108
        "brandStartsWith_salesRank" = 'B_00108' //pad for as many sales ranks as you have
    }, {
        "brandStartsWith" : 'C',
        "salesRank" : 52
        "brandStartsWith_salesRank" = 'C_00052' //pad for as many sales ranks as you have
    }
}

这将允许您执行以下查询:

firebase.database().ref('tshirts')
    .orderByChild('brandStartsWith_salesRank')
    .startAt('A_00001')
    .endAt('A_00100')
    .once('value', function (snapshot) {
        console.log(snapshot.val())
    })

不要忘记将规则更新为.indexbrandStartsWith_salesRank

 类似资料:
  • 问题内容: 我正在尝试检索仅在到达日期和机场匹配时才返回飞行数据的数据。我似乎无法找出最佳解决方案。我只能在机场或到达日期相同的地方提取数据,而不能在两者都提取(只能使用一次)。这是我当前的Java代码如下所示: 这是数据本身: 当前的Java代码将返回 仅 具有相同机场的所有子级。如您所料,当客户端需要排序的数据量比上述测试数据大得多时,这是不可行的。如何更好地在Firebase端过滤数据? 问

  • 当前的java代码将返回所有只有相同机场的子级。正如您所猜测的,当客户端需要排序的数据量比上面的测试数据大得多时,这是不可行的。如何更好地过滤Firebase端的数据?

  • 问题内容: 我最近才刚开始使用SQLAlchemy,但仍无法解决某些概念。 归结为基本元素,我有两个这样的表(通过Flask-SQLAlchemy): 我将如何查询用户列表及其最新帖子(不包括无帖子的用户)。如果我使用的是SQL,则可以执行以下操作: 因此,我确切地知道“期望的” SQL可以达到我想要的效果,但是不知道如何在SQLAlchemy中“正确地”表达它。 编辑:如果很重要,我使用的是SQ

  • 问题内容: 谁能给我一些关于如何将这种子查询放入提示?(我正在使用 JPA 2.0 - Hibernate 4.x ) -第二个选择将始终获得单个结果或null。 问题答案: 尝试类似以下示例的操作来创建子查询: 请注意,由于附近缺少IDE,因此该代码尚未经过测试。

  • 问题内容: 我有一个查询: 我只想从表中选择周期和年份等于的行: 我知道最简单的方法是使用连接,但是问题是-在应用程序中,我只能在后面添加一个子句 因此,解决方案应该是: 那可能吗? 编辑: 结果应与以下相同: 问题答案: 您可以为条件使用多个列: 但是戈登的解决方案可能更快。

  • 问题内容: 例如,我对我的书籍清单有动态过滤器,可以在其中设置特定的颜色,作者和类别。该过滤器可以一次设置多种颜色,也可以设置多种类别。 如何有条件地添加“ where”? 问题答案: 如您在API文档中所见,collection()方法返回一个CollectionReference。CollectionReference扩展了Query。Query.where()和Query.orderBy()