Я работаю над сайтом для сбора неоплаченных счетов. Посетитель может разместить заказ (предоставить данные своей компании и загрузить один или несколько неоплаченных счетов) и оплатить услугу ПЕРЕД созданием учетной записи пользователя.
Это означает, что я должен добавить 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