Объединить несколько столов - Flutter - Firebase - PullRequest
0 голосов
/ 28 августа 2018

У меня три коллекции: Автомобили, Марки, Модели. Автомобиль имеет марку, модель и цену. Причина, по которой у меня есть отдельные коллекции, заключается в том, что я хотел бы в конечном итоге показывать модели самостоятельно и модели самостоятельно.

enter image description here

Я бы хотел показать каждый автомобиль с указанием марки, модели и цены.

В SQL я могу объединять таблицы и сравнивать по идентификаторам. Я не уверен, как я могу повторить объединение в nosql.

1 Ответ

0 голосов
/ 28 августа 2018

в NoSQL, вы не можете сделать это за один запрос. Вы должны разделить на несколько запросов:

первый запрос: получить данные из основной таблицы (в вашем случае: Cars module)

второй запрос: получить данные из объединенных таблиц ( Makes, Models )

например, используя 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());
        });


    });

Итак, вы должны объединить таблицы в 2 этапа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...