gpt4 book ai didi

java - Firebase Java Admin SDK 初学者(从 SQL)

转载 作者:行者123 更新时间:2023-12-02 10:37:34 25 4
gpt4 key购买 nike

我正在开发客户的销售点 (POS) 软件。我打算将 django 与 MySQL 一起使用,但客户端无法支付主机费用,因此我决定使用 Firebase 用 Ja​​va 编写它。我在思考来自 MySQL 的 Firebase 时遇到了一些困难。

根据 Firebase 文档,要像在 SQL 中那样建立关系,它必须如下所示:

inventory : {
CD001 : {
genre : {
"CLASSICAL" : TRUE
}
}
genre : {
CLASSICAL : {
Name : "CLASSICAL"
inventory : {
CD001 : TRUE
}
}
}

而在 SQL 中,我只是将流派主键作为库存中的外键。在 Firebase 中是否有更好的方法来做到这一点?似乎对于每个具有 CLASSICAL 类型的产品,我都必须制作两个 updateChildAsync()。此外,任何更改(例如从库存中删除流派)我还必须循环遍历两个 DatabaseReference

如果我使用push来获取生成的主键,情况会更糟,因为我必须循环遍历每个子项才能获取流派名称。

我知道这可能不是制作 POS 的最佳方式,但考虑到项目的限制以及我喜欢学习新东西,我会坚持下去。

最佳答案

在 NoSQL 中,您通常会在多个位置具有相同的值,以允许应用程序的特定用例。这是正常现象,但如果您有关系数据库背景,可能需要一些时间来适应。

要掌握 Firebase 的 NoSQL 模型,我建议阅读 NoSQL data modeling ,观看Firebase for SQL developers (对于 Firebase 实时数据库)和 Getting to know Clouf Firestore .

有关如何建模多对多关系的好示例,请参阅 Many to Many relationship in Firebase 。你的例子看起来更像是一个分类问题,在这种情况下我还建议阅读 Firebase query if child of child contains a value .

关于java - Firebase Java Admin SDK 初学者(从 SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53167984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com