如何联接两个表并在Firebase中获取有关子级的数据库

时间:2018-06-20 10:15:03

标签: node.js firebase firebase-realtime-database

table one

table two

  

这是我的代码。我对如何获取所有记录以及连接两个表的最佳方法有什么想法。   i want adda name here but they print all the data of adda and not same as id of adda_ref in users

created: function () {
    let self = this;

    const db = firebase.database();
    self.userRef = db.ref('/users');
    self.addaListRef = db.ref('/adda_list');

    self.userRef.orderByChild('type').equalTo('driver').once('value', function (snap) {
        self.addaListRef.orderByChild('place_name').once('value', function (addasnap) {

            let addadata = addasnap.val();

            let renderData = snap.val();
            self.data1 = [];
            if (renderData !== null) {
                let renderDataKeys = Object.keys(renderData);
                let addaDataKeys = Object.keys(addadata);
                let process_item = 0;
                let grabData = [];
                let grabData2 = [];
                renderDataKeys.forEach(function (val) {
                    let item = renderData[val];
                    let item2 = addadata[addaDataKeys[process_item]];
                    item['key'] = val;
                    item['time'] = "";
                    var bar = Object.keys(item).length;
                    var percent = (bar * 100) / 20;
                    self.progressValue[process_item] = percent;
                    if (val.length === 20) {
                        item['time'] = func.set_date_ser(new Date(func.decode_key(val)));
                    } else if (item.hasOwnProperty("createdAt")) {
                        item['time'] = moment(item.createdAt).format("hh:mm A DD/MM/YYYY");
                    }
                    grabData.push(item);
                    grabData2.push(item2);
                    process_item++;
                    if (process_item === renderDataKeys.length) {
                        self.data1['renderData'] = grabData;
                        self.data1['addadata'] = grabData2;
                        self.dataLoad = false;
                    }


                });

            }

        });
    });
},

0 个答案:

没有答案