AngularFire 2访问值而不知道ID

时间:2017-03-22 12:53:01

标签: javascript firebase firebase-realtime-database angularfire2

我正在尝试进行简单的聊天,只是为了练习,但我想访问另一个孩子的孩子。 我用手写了ID,但想象我不知道ID,因为firebase随机创建了。

问题是,我可以迭代列表,但我无法访问孩子,因为我不知道ID,我只想在视图中看到msg。

Firebase数据库结构:http://imgur.com/a/va7QC

这是我的代码:

  constructor(public navCtrl: NavController, public navParams: NavParams, public af: AngularFire) {
    af.database.list('/chats/chatroom').subscribe(items => {
      console.log(items);
      items.forEach(snapshot => {
        console.log(snapshot);
        this.msg.push(snapshot.msg);
      })
    });

谢谢!

1 个答案:

答案 0 :(得分:0)

我重新创建了您的数据结构,在您创建引用时似乎错过了以下选项:{ preserveSnapshot: true }

以下内容创建了您想要的数组:

af.database.list('/chats/chatroom').subscribe(items => {
  console.log(items);
  items.forEach(snapshot => {
    console.log(snapshot);
    this.msg.push(snapshot.val().msg);
  })

请告诉我这是否对您有帮助:)