firebase - 存储相同的密钥两次但具有不同的值,可能吗?
问题描述
我正在尝试使用 Firebase RealtimeDB 存储大学课程,因此课程本质上共享相同的密钥。例如 MATH 101、MATH 102 共享相同的键但不同的值,因为它们是不同的“对象”(本身),但 firebase 会用最近的一个覆盖一个。
有没有办法保留两个键值对,或者我应该寻找不同的数据库。
解决方案
Firebase 实时数据库将数据存储为 JSON 结构。在 JSON 结构中,键是唯一的,因此无法在单个父节点下多次使用相同的键。
您通常希望在 , 键下创建多个子节点,例如:MATH 101
MATH 102
"MATH 101": {
"-Mlasdj1301201": { ... },
"-Mlbsdj1301201": { ... }
},
"MATH 102": {
"-Mkasdj130c201": { ... },
"-Mzasdj130b201": { ... }
}
-M...
键是通过调用push()
或创建的childByAutoId()
。
推荐阅读
- android - 通过linux内核修改Android UI
- php - 未捕获的错误:调用字符串上的成员函数 fetch()
- xaml - 集合视图标题
- windows - 每天计算收到的电子邮件的 Powershell 脚本有时会报告 0 收到的电子邮件
- r - 沿其对角线重复具有不同零块的矩阵乘法
- sql - 不能在 select 语句中使用子查询。返回“缺少 FROM 表达式”
- kubernetes - 如何使用多个 Web 服务(Pod)准确地进行 JMETER 负载测试
- docker - 带有 RSDriver 的 RSelenium。错误:httr 输出:无法连接到 localhost 端口 4445:连接被拒绝
- javascript - 为什么在这种情况下 babel 会转换 import 和 export?
- owasp - 确保放置到 HTML 中的所有字符串变量都经过手动正确的上下文编码