Firestore select запрос для изменения структуры возвращаемых данных - PullRequest
0 голосов
/ 05 марта 2020

Я использую Firebase Firestore для создания веб-приложения (JavaScript). Но у меня возникла проблема с тем, как мои данные в настоящее время структурированы для того, что я хочу сделать.

У меня есть следующая модель данных:

{
sources: [
     name: '',
     uid: '1234567890'
     ]
,
accounts: [
     name: '',
     uid: '1234567890'
     ]
}

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

{
sources: [
     name: '',
     uid: '1234567890',
     accounts: [
          name: '',
          uid: '1234567890'
          ]
     ]
}

Очевидно, с соответствием uid. Там не будет много данных в целом, если это имеет значение. Возможно 1-4 источника и 4-8 счетов. Любая помощь будет отличной! Не уверен, что мне нужно объединить обещания, чтобы соединить все вместе (я думаю) или есть лучший способ.

1 Ответ

0 голосов
/ 05 марта 2020

То, что вы описываете, называется "объединением" в SQL терминах. Firestore не поддерживает объединения, чтобы иметь возможность масштабирования. С вашей текущей структурой, вы должны прочитать каждый документ в отдельности и объединить результаты на клиенте. Кроме того, вы можете сохранить другой документ с предварительно объединенными данными из нескольких коллекций, что называется денормализацией. Денормализация распространена в базах данных типа No SQL, которые не поддерживают объединения.

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