Javascript Firebase列表与对象

Javascript Firebase列表与对象,javascript,json,firebase,firebase-realtime-database,angularfire2,Javascript,Json,Firebase,Firebase Realtime Database,Angularfire2,关于Firebase列表的快速问题 我正在尝试访问多个列表,以循环访问单个对象中的列表。该对象如下所示: user : { playlists: {}, // List 1 joined: {}, // List 2 favorites: {} // List 3 } 现在我知道我可以通过执行三个单独的请求访问所有三个列表,如: firebase.list('user/playlists'); firebase.list('user/joined'); fire

关于Firebase列表的快速问题

我正在尝试访问多个列表,以循环访问单个对象中的列表。该对象如下所示:

user : {
    playlists: {}, // List 1
    joined: {},    // List 2
    favorites: {}  // List 3
}
现在我知道我可以通过执行三个单独的请求访问所有三个列表,如:

firebase.list('user/playlists');
firebase.list('user/joined');
firebase.list('user/favorites');
但我正试图清理我的代码,并通过使用以下工具将其全部整合在一起:

firebase.list('user');
然后访问它在用户内部返回的所有列表。唯一的问题是,列表没有返回键,它只是说“object”。当我使用
firebase.object('user')
时,键可用

这是我请求“用户”作为列表时的样子:

 Check if exists      If exists, map obj to array     else assign to empty array
(result.favorites) ? Object.values(result.favorites) : []


正如您所看到的,键位于对象内部,而不是对象外部($key)。我如何访问这些对象,就像我访问的键实际上就是键一样(例如,user.playlists)

对于任何感兴趣的人,我都知道了。我使用
.map()
将对象的部分转换为数组

getPlaylist(_playlistId: string, _query: Object = {}) {

  return this._database.object(`playlists/${_playlistId}`, _query).map(

      result => {

        return {
          info: result.info,
          leader: result.leader,
          favorites: (result.favorites) ? Object.values(result.favorites) : [],
          followers: (result.followers) ? Object.values(result.followers) : [],
          songs: (result.songs) ? Object.values(result.songs) : []
        };

      }

    );
  }
例如,收藏夹是我希望作为列表返回的对象:

 Check if exists      If exists, map obj to array     else assign to empty array
(result.favorites) ? Object.values(result.favorites) : []