Javascript Firebase非规范化数据与Redux规范化状态?

Javascript Firebase非规范化数据与Redux规范化状态?,javascript,firebase,firebase-realtime-database,redux,nosql,Javascript,Firebase,Firebase Realtime Database,Redux,Nosql,下面给出一个嵌套数据示例: (多个)用户 一个用户有(多个)行程 一次旅行有(多)天 一天有一个日期和(多次)访问 访问有时间和地点 位置具有特定于位置的元数据 每一步都是“一对多”的关系,除了树的末尾,不同的访问/天数/行程/用户可以共享一个位置 看起来可以规范化/展平此数据以用作Redux状态。但是数据在Firebase中的副本应该采用什么结构呢 Firebase建议对数据进行非规范化和扁平化。但非规范化不意味着返回一个完全嵌套的结构吗?我对与Redux和Firebase合作感到非常困惑,因

下面给出一个嵌套数据示例:

(多个)用户

一个用户有(多个)行程

一次旅行有(多)天

一天有一个日期和(多次)访问

访问有时间和地点

位置具有特定于位置的元数据

每一步都是“一对多”的关系,除了树的末尾,不同的访问/天数/行程/用户可以共享一个位置

看起来可以规范化/展平此数据以用作Redux状态。但是数据在Firebase中的副本应该采用什么结构呢

Firebase建议对数据进行非规范化和扁平化。但非规范化不意味着返回一个完全嵌套的结构吗?我对与Redux和Firebase合作感到非常困惑,因此非常感谢您的澄清

  users: {
    user_1: {
      trips: {
        trip_1: {
          days: {
            day_1: {
              date: certain_date
              visits: {
                visit_1: {
                  time: certain_time,
                  loc: {
                    id: certain_location_id,
                    ...
                  }
                },
                visit_2: {...},
                ...  
              }
            },
            day_2: {...},
            ...
          }
        },
        trip_2: {...},
        ...
      }
    },
    ...
  }

非规范化意味着与嵌套完全相反。请参阅,特别是。感谢您提供的资料。现在有一个稍微无关的问题,如果在firebase中我将侦听器附加到父节点的子节点,那么当我删除父节点时,子节点的侦听器会发生什么情况?它们会随着更新而被调用(因此一个null
子节点被删除
)。差不多就是这样。非规范化意味着与嵌套完全相反。请参阅,特别是。感谢您提供的资料。现在有一个稍微无关的问题,如果在firebase中我将侦听器附加到父节点的子节点,那么当我删除父节点时,子节点的侦听器会发生什么情况?它们会随着更新而被调用(因此一个null
子节点被删除
)。差不多就是这样。