Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic framework Firebase多对多关系检索数据_Ionic Framework_Firebase_Angularfire - Fatal编程技术网

Ionic framework Firebase多对多关系检索数据

Ionic framework Firebase多对多关系检索数据,ionic-framework,firebase,angularfire,Ionic Framework,Firebase,Angularfire,我有以下数据结构,用户和服务有多对多 关系 users : { user1 : { name : blah, email : a@a.com, services : { servicekey1 : true, servicekey9 : true } } } services : { servicekey1 : { name : blahserve, category : blahbers, provi

我有以下数据结构,用户和服务有多对多 关系

users : {
  user1 : {
    name : blah,
    email : a@a.com,
    services : {
      servicekey1 : true,
      servicekey9 : true
    }
  }
}

services : {
  servicekey1 : {
    name : blahserve,
    category : blahbers,
    providers : {
      user1 : true,
      user7 : true
    }
  }
}
我想获取服务的用户对象列表。如何在有无角火的情况下实现这一点

我提出了这个问题(没有angularfire)——


这解决了我的目的,但我觉得应该有更好的方法,可能是用角火。请建议是否有其他/更好的方法来实现这一点?

无法提供任意子ID子集并在一次调用中返回集合。因此,你这样做是正确的,并且与angularfire的模式相同。如果这最终成为一个问题,那么另一种方法是对数据进行非规范化,其中用户对象也全部存储在服务集合中。这有其优点,即读取量少,但也有保持数据同步的缺点,如果不需要数据,则加载量更大。
var refu = new Firebase("https://myapp.firebaseio.com/users"); 
var refs = new Firebase("https://myapp.firebaseio.com/services"); 
refs.child("servicekey1/providers").once("value",function(s){
  var users = s.val();
  angular.forEach(users, function(v,k){
    refu.child(k).once("value", function(su){
    console.log(su.val());
    })
  })
});