Angularjs 如何使用angularFire在firebase中查询?
我在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
{
"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