Firebase数据库结构:遍历节点

时间:2019-01-05 13:33:33

标签: firebase firebase-realtime-database nosql e-commerce

我正在一个网站上收集未付款的发票。访问者可以在创建用户帐户之前下订单(提供他/她的公司数据并上传一张或多张未付款的发票)并支付服务费用。

这意味着我必须在之后添加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

0 个答案:

没有答案