【发布时间】:2018-11-06 08:08:51
【问题描述】:
我正在开发客户的销售点 (POS) 软件。我打算将 django 与 MySQL 一起使用,但客户端无法支付主机费用,因此我决定使用 Firebase 用 Java 编写它。我在考虑来自 MySQL 的 Firebase 时遇到了一些麻烦。
根据 Firebase 文档,要像我在 SQL 中那样处理关系,它必须看起来像:
inventory : {
CD001 : {
genre : {
"CLASSICAL" : TRUE
}
}
genre : {
CLASSICAL : {
Name : "CLASSICAL"
inventory : {
CD001 : TRUE
}
}
}
而在 SQL 中,我只会将流派 primary key 作为 foreign key 放在库存中。在 Firebase 中有没有更好的方法来做到这一点?似乎对于每个具有CLASSICAL 类型的产品,我都必须制作两个updateChildAsync()。此外,任何更改(例如从库存中删除流派)我还必须遍历两个 DatabaseReference。
如果我要使用push 来获取生成的primary key,那就更糟了,因为我必须遍历每个孩子才能获得genre 的名称。
我知道这可能不是制作 POS 的最佳方式,但鉴于项目的限制以及我喜欢学习新东西,我会坚持下去。
【问题讨论】:
标签: java firebase firebase-realtime-database