检索未知父级Firebase的子值,AngularJS

时间:2017-11-08 11:37:19

标签: angularjs firebase ionic-framework ionic3 angularfire

我在Firebase上有基本项目,AngularJS。

    {
  "users" : {
    "X3IuXTMi9RgOLMKBoqPJtB1JGGQ2" : {
      "profile" : {
        "firstName" : "test",
        "lastName" : "5",
        "username" : "test5"
      }
    },
    "poPg2BfHA1gq3qtXNLbuw4X2Zt23" : {
      "profile" : {
        "firstName" : "test3",
        "lastName" : "asdfg",
        "username" : "test3"
      }
    }
  }
}

我想基本上通过用户名添加用户。当在alertprompt(离子)上键入用户名并单击添加时,它将找到目标用户名并获取其父级的uid。它将在“users / $ targetuid / friendrequests / $ senderuid”

上写入数据

我最接近的搜索结果是:Retrieve data of child of unknown parent ID - Firebase

但我不能使用任何.ref代码;

Cannot read property 'ref' of undefined

我只能使用FirebaseObjectObservable,我做错了什么?为什么我不能使用

firebase.database().ref

或者这个基于.ref命令的代码?

基本上不能在这里做任何事情:https://firebase.google.com/docs/database/web/read-and-write

我对编码很新,所以如果它简单或有趣不要笑。谢谢你的阅读。

1 个答案:

答案 0 :(得分:0)

我可以在这里看到两个解决方案:

1)创建一个usernameToUserid地图:在firebase上创建一个新资源usernameToUserid,ike如下:

{
  "users" : {
    "X3IuXTMi9RgOLMKBoqPJtB1JGGQ2" : {
      "profile" : {
        "firstName" : "test",
        "lastName" : "5",
        "username" : "test5"
      }
    },
    "poPg2BfHA1gq3qtXNLbuw4X2Zt23" : {
      "profile" : {
        "firstName" : "test3",
        "lastName" : "asdfg",
        "username" : "test3"
      }
    }
  },
  "usernameToUserid: {
    "test5": "X3IuXTMi9RgOLMKBoqPJtB1JGGQ2",
    "test3": "poPg2BfHA1gq3qtXNLbuw4X2Zt23"
  }
}

通过这种方式,您可以使用用户名检索userId,然后检索用户个人资料。

2)检索所有用户并在本地搜索用户名,可怕的想法。