React Native Firebase数据库连接或其他连接方式

时间:2019-02-23 22:34:02

标签: firebase react-native firebase-realtime-database expo

首先,我知道NOSQL系统没有JOIN。但是我知道有一种方法可以获取带有另一个表值的数据。

关于我的应用程序: 该应用程序是基本的社交网络应用程序。人们可以共享照片。这些帖子保存的是Firebase数据库“实时数据库”,而不是Cloud Firestore,因为它具有时间轴页面。此页面显示共享的帖子。我需要显示带有发布者信息的帖子。

使用firebase身份验证登录的用户,我有一个名为kullanici的users表,如下所示。 kullanici table

我有这样的Posts表。 posts table

我需要在Posts表中删除displayName,而不是在kullanici表中获取isim。

我需要的数据是:用kullanici-> {posts。{postid} .userid}-> isim发布。

我的工作代码如下:

return (dispatch) => {
    firebase.database().ref(`/posts`).endAt("tarih").limitToLast(2)
      .on('value', snapshot => {
        dispatch({type: STUDENT_LIST_DATA_SUCCESS, payload: snapshot.val()});
      });
  };

我返回的数据如下:

Object {
  "-L9tnfvm6jQiKLc378c6": Object {
    "aciklama": "",
    "baslik": "Ensar mı Ahmet mi",
    "displayName": "HasanRiza",
    "image": "https://hasan-riza-uzuner.s3.amazonaws.com/1523535677033.png",
    "like": 244,
    "tarih": 1523535757133,
    "userid": "fD7IfKAhXogFwHtfKYiF7LMtXNp1",
  },
  "-LYHPJgR4sywTzpcxX7A": Object {
    "aciklama": "Ev",
    "baslik": "Nasıl",
    "displayName": "HasanRiza",
    "image": "https://hasan-riza-uzuner.s3.us-east-2.amazonaws.com/1549718296409.png",
    "like": 1,
    "tarih": 1549718342522,
    "userid": "fD7IfKAhXogFwHtfKYiF7LMtXNp1",
  },
}

1 个答案:

答案 0 :(得分:-1)

var promises = [];
group_ids.forEach(function (group_id) {
    promises.push(firebase.firestore().collection('Group').doc(group_id).get())
});
Promise.all(promises).then(function(docs) {
    docs.forEach((groupDoc) => {
        group.name = groupDoc._data['name'];
        group.city = groupDoc._data['city'];
        group.state = groupDoc._data['state'];
        groups.push(group);
    });
    console.log(groups);
});