我正在一个网站上收集未付款的发票。访问者可以在创建用户帐户之前下订单(提供他/她的公司数据并上传一张或多张未付款的发票)并支付服务费用。
这意味着我必须在之后添加uid
。通常,这没什么大不了的,但我会将发票和公司数据复制到文件节点。
因此,当用户想要获取自己的发票时,firebase必须遍历所有发票节点以检查uid与当前用户ID匹配的位置。
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