Firebase:一对多关系逆向

时间:2018-08-09 09:25:22

标签: firebase firebase-realtime-database dart flutter

我有一个Transaction模型,该模型已连接到Account模型。因为我需要通过交易访问帐户详细信息,所以这两个模型之间需要一对多的逆关系。

因此我将帐户ID保存在数据库的交易对象中。但是在代码中接收Account很麻烦! (因为我想在列表中显示数据,所以我必须以不能为async函数的构建器方法接收帐户!)

transactions
\--ts_1
   \--account: ac_1
   ...
\--ts_2
   \--account: ac_1

accounts
\--ac_1
   \--name: ...
   \--balance: ...

然后我发现我应该将对象直接保存在数据库的事务对象中。但是我在这里发现了另一个问题,我无法像这样将id放入对象密钥!因为id是随机的,并且如果我不将id放在密钥中,以后就无法更新它:

transactions
\--ts_1
   \--ac_1:
      \--name: ...
      \--balance: ...
   ...
\--ts_2
   \--ac_1:
      \--name: ...
      \--balance: ...

accounts
\--ac_1
   \--name: ...
   \--balance: ...

那么您的建议是什么?建立一对多逆关系的最佳方法是什么,这样我就可以轻松更新那些对象。

0 个答案:

没有答案