首页 > 解决方案 > 存储相同的密钥两次但具有不同的值,可能吗?

问题描述

我正在尝试使用 Firebase RealtimeDB 存储大学课程,因此课程本质上共享相同的密钥。例如 MATH 101、MATH 102 共享相同的键但不同的值,因为它们是不同的“对象”(本身),但 firebase 会用最近的一个覆盖一个。

有没有办法保留两个键值对,或者我应该寻找不同的数据库。

标签: firebasefirebase-realtime-database

解决方案


Firebase 实时数据库将数据存储为 JSON 结构。在 JSON 结构中,键是唯一的,因此无法在单个父节点下多次使用相同的键。

您通常希望在 , 键下创建多个子节点,例如MATH 101MATH 102

"MATH 101": {
  "-Mlasdj1301201": { ... },
  "-Mlbsdj1301201": { ... }
},
"MATH 102": {
  "-Mkasdj130c201": { ... },
  "-Mzasdj130b201": { ... }
}

-M...键是通过调用push()或创建的childByAutoId()


推荐阅读