firebase - 具有完整性的 NoSQL 关系
问题描述
我有一个 Firebase 实时数据库,其结构如下:
{
product : {
"book1" : {
"name" : "LoTR",
"category" : {
"Fiction" : true
}
}
}
genre : {
"Fiction" : {
"name" : "Fiction",
product : {
"book1" : true
}
}
}
}
我想知道是否还应该添加一个键键表,例如:
genre_product : {
-3i9wfiosdniov : {
"book1" : "Fiction"
}
}
建立关系并使用$key : true
完整性检查?一种使关系比另一种更好的方法还是仅仅通过用例?
解决方案
Firebase 数据库没有关系的概念,因此也没有关系完整性的概念。任何此类概念都需要在您的(应用程序和服务器)代码以及数据库的服务器端安全规则中进行处理。
与 NoSQL 数据库设计中的往常一样,没有一种数据模型是最好的。这一切都取决于您的应用程序的用例。对于一个好的介绍,我建议阅读NoSQL 数据建模和观看Firebase for SQL 开发人员。我还建议查看我对Firebase和Firebase 查询中的多对多关系的答案,如果 child 的 child 包含 value。
推荐阅读
- python - 我在 sklearn 糖尿病数据集中得分很低,使用线性回归,请指导我如何绘制多重线性回归
- javascript - 在 jQuery 对话框中使用响应式 iframe
- javascript - 将描述性 JSON 转换为 JavaScript 代码
- angular - 角高图树形图平方拟合瓷砖
- python - 人员类重复相同的输入
- sql - 从 tbl1 获取所有记录并从 tbl2 获取匹配(或下一个关闭)记录,匹配基于 Client# 和从 tbl1 到 tbl2 的日期
- c# - 如何使用 AutoFixture 获取不同的日期(yyyy-mm-dd)
- json - 使用 JS SDK 或 PHP SDK 将 Facebook 页面发布到 Wordpress
- javascript - 无法在 ReactJs 中设置属性 'srcObject' 为 null,getUserMedia
- regex - 在正则表达式lookbehind中应用字符集