我有一个复杂的应用程序,我正在使用Firebase作为我的后端数据。
我有一个在两个不同的上下文中使用的对象,一个用于用户查看,另一个用于服务器进行批处理。像这样:
users: {
USER_ID: {
...
txns: {
TXN_ID: {
// data I need
}
}
}
...
},
transactions: {
TXN_ID: {
USER_ID: {
// data I need
},
USER_ID2: {
// different data I need
}
}
}
在关系术语中,txn_ids和user_ids处于多对多关系中。因此,查看事务节点以查找属于用户的所有事务在FB中很难,并且查看在FB中查找事务ID的所有用户都很难。所以我对数据进行了非规范化。我认为这是正确的。
但是如何让它们保持同步?
我一直在使用MPU,这很好,但我担心它将来容易出错。
我考虑过编写Firebase Cloud功能以保持同步,但我担心它比MPU更脆弱。
么?