连接多个表-Flutter-Firebase

时间:2018-08-28 15:14:32

标签: sql firebase nosql flutter google-cloud-firestore

我有三个集合:汽车,品牌,模型。汽车具有品牌,型号和价格。之所以拥有单独的系列,是因为我想最终展示自己的品牌和自己的模型。

enter image description here

我想展示每辆汽车的制造商,型号和价格。

在SQL中,我可以联接表并按ID比较。我不确定如何在nosql中复制联接。

1 个答案:

答案 0 :(得分:0)

在NoSQL中,您无法在一个查询中做到这一点。您必须划分为多个查询:

第一个查询:从主表中获取数据(在您的情况下:汽车模块)

第二个查询:从联接表(制造商,模型)中获取数据

例如使用JavaScript

    carTable.on('value', function (snapshot) {
        var makeID = snapshot.val().makeID; 
        makesTable.child('makes').child(makeID).once('value', function(mediaSnap) {
            console.log(makeID + ":" + mediaSnap.val());
        });

         var modelsID = snapshot.val(). modelsID; 
        modelsTable.child('models').child(modelsID).once('value', function(mediaSnap) {
            console.log(modelsID + ":" + mediaSnap.val());
        });


    });

因此,您必须分两步将表连接起来。