代码之家  ›  专栏  ›  技术社区  ›  nedzad

如何访问引用Firebase中其他对象的对象

  •  0
  • nedzad  · 技术社区  · 8 年前

    我的火力基地。json看起来像:

    "Employees": {
        "Employee1" : {
          "Activities": {
            "Activity1": true
          },
          "age" : 61,
          "name" : "Employee1"
         },
         .
         .
         .
        //other employees
    }
    "Activities": {
         "Activity1": {
           "name": "Name of Activity1",
           "value": 2,
           "cost": 2
         },
         .
         .
         .
         //other activities
    }

    我想做的是展示员工。在这种情况下,Employee1在Activities下只有Activity1。我需要显示Employee1数据,包括其活动的数据。我正在使用React firebase.database().ref() on('value', function(snapshot)) 显示Firebase中的数据。任何帮助都将不胜感激。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Renaud Tarnec    8 年前

    在NoSQL数据建模中,您应该毫不犹豫地复制数据,也就是说,以这样一种方式进行非规范化,它会使您的查询更容易,更重要的是,更快。

    因此,在您的情况下,您可以修改数据结构,如下所示:

    "Employees": {
        "Employee1" : {
          "Activities": {
            "Activity1": {
              "name": "Name of Activity1",  // <- add the details of the activity here
              "value": 2,
              "cost": 2
             },
          },
          "age" : 61,
          "name" : "Employee1"
         },
         .
         .
         .
        //other employees
    }
    "Activities": {
         "Activity1": {
           "name": "Name of Activity1",
           "value": 2,
           "cost": 2
         },
    

    这种技术的一个缺点是必须保持两个节点同步,但这可以通过使用 update() 方法,请参见 documentation