Angularjs 如何使用angularFire在firebase中查询?

Angularjs 如何使用angularFire在firebase中查询?,angularjs,firebase,firebase-realtime-database,angularfire,nosql,Angularjs,Firebase,Firebase Realtime Database,Angularfire,Nosql,我在Firebase中有一个简单的结构: { "categorias" : { "categoria2" : { "subcategorias" : { "subcategoria4" : { "nome" : "Subcategoria 4" }, "subcategoria6" : { "nome" : "Subcategoria 6" }, "su

我在Firebase中有一个简单的结构:

{
  "categorias" : {
    "categoria2" : {
      "subcategorias" : {
        "subcategoria4" : {
          "nome" : "Subcategoria 4"
        },
        "subcategoria6" : {
          "nome" : "Subcategoria 6"
        },
        "subcategoria5" : {
          "nome" : "Subcategoria 5"
        }
      },
      "icone" : "fa-cloud",
      "nome" : "Categoria 2"
    },
    "categoria1" : {
      "subcategorias" : {
        "subcategoria1" : {
          "nome" : "Subcategoria 1"
        },
        "subcategoria3" : {
          "nome" : "Subcategoria 3"
        },
        "subcategoria2" : {
          "nome" : "Subcategoria 2"
        }
      },
      "icone" : "fa-bolt",
      "nome" : "Categoria 1"
    }
  },
  "locais" : {
    "local1" : {
      "subcategorias" : {
        "subcategoria4" : true,
        "subcategoria1" : true
      },
      "nome" : "Local 1",
      "email" : "local1@loc1.com"
    }
  }
}
例如,我需要列出所有具有子类别1:true的LOCAI。我不知道怎么做,因为它需要本地化,但在查询中我不知道本地化。我只想要所有属于子类别的地方


我正在使用AngularFire。

我找到了解决方案,但我不知道这是否是正确的方法:

findBySubcategoria: function(subcategoriaId) {                  
    var result = {};
    locais.$on("value", function(snap){
        var keys = snap.snapshot.value;

        angular.forEach(keys, function(key, i){                         
            if(key.subcategorias[subcategoriaId]){
                result[i] = locais.$child(i);
            }
        }); 

    });
    return result;
}

您可以使用angularfire的$child方法创建对部分数据的引用,并从中向下钻取感谢您的帮助,但我需要的是一种方法,用于在我的locais中搜索并仅过滤具有子类别的locais 1:是的,如果我知道需要迭代的id,我只使用$child执行此操作,但事实并非如此。请查看Firebase博客,其中介绍了如何将SQL查询转换为Firebase思维模式。感谢您的帮助@Kato