Структура базы данных Firebase: проход через узлы - PullRequest
0 голосов
/ 05 января 2019

Я работаю над сайтом для сбора неоплаченных счетов. Посетитель может разместить заказ (предоставить данные своей компании и загрузить один или несколько неоплаченных счетов) и оплатить услугу ПЕРЕД созданием учетной записи пользователя.

Это означает, что я должен добавить uid позже. Обычно это не имеет большого значения, но я дублирую счет и данные компании на файловый узел.

Из-за этого firebase должен пройти через все узлы счетов, чтобы проверить, где идентификатор совпадает с текущим идентификатором пользователя, когда пользователь хочет получить свои собственные счета.

invoices
   invoice 1
      general
         uid: 'uid-123'
         orderid: 'order-1234'
      documents
      creditor
      ...
   invoice 2
      general
         uid: 'uid-123'
         orderid: 'order-1234'
      documents
      creditor
      ...
   invoice 3
      general
         uid: 'uid-543'
         orderid: 'order-3434'
      documents
      creditor
      ...

Является ли этот подход / структура нормальным (я не хочу больших счетов через несколько месяцев, потому что firebase каждый раз должен циклически проходить через 100 - 1000 - 5000 узлов счетов) или есть способ обойти следующую структуру, которая кажется лучше / быстрее.

invoices
   uid 1
      invoice 2
      invoice 4
      invoice 5
   uid 2
      invoice 1
      invoice 3
      invoice 8
...