AngularFire查询非规范化数据

时间:2016-06-27 23:15:57

标签: firebase angularfire firebase-realtime-database angularfire2

我在使用firebase查询数据时遇到了一些问题。

我有以下结构 enter image description here

用户有一些宠物,我想获得用户在宠物节点中拥有的所有宠物的列表。 我做了以下方法:

for (let petUID in this.user.pets) {
   this.af.database.object("/pets/" + petUID ).subscribe(data => {
      this.ownPets.push(data);
   });
}

最后,我得到了ownPets变量中的所有宠物。 但这对我来说就像尴尬一样。

如果宠物节点中的任何数据都来自ownPets阵列中的宠物,那么这只宠物会被再次推动,我会在ownPets内找到过时的新宠物。

我尝试了另一种方法:使用查询方法并在equalTo中发送一个对象数组,但我收到一条错误消息,说我无法发送一组对象。

this.af.database.list('/pets', {
    query: {
      orderByChild: "name",
      equalTo: ["pet1", "pet2"]
    }
  }).subscribe (data => {
    console.log(data);
});

任何人都可以使用更好的方法吗? 感谢

0 个答案:

没有答案