1

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

我有以下结构 在此处输入图像描述

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

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);
});

有人有更好的方法我可以使用吗?谢谢

4

0 回答 0