如何从Firebase db android中的多对多关系中获取完整数据?

问题描述 投票:1回答:1

我有一个属于学校的班级,这个班级有老师和学生,他们所有人都有名字,也许有电话号码,我想获取班级的全部数据但是首先,您能否建议我,从以下Db中获得最好的性能和维护:

第一个

 "schools":{
   "school1":{
     "class1":{
       "name":"SC1",
       "teachers":[{
         "name":"T1"
       }, {
         "name":"T2"
       }],
       "students":[
         {"name":"S1"},
         {"name":"S2"}
         ]
     }
   }
.
.
.
.
.
.
.

 }

和第二个

  "school":{
    "school1":{
      "name":"SC1"
    },
    "school2":{
      "name":"SC2"
    }
  },
  "classes": {
    "class1": {
      "name": "C1"
    },
    "class2": {
      "name": "C2"
    }
  },
  "students": {
    "student1": {
      "name": "S1",
      "phone":"123456789"
    },
    "student2": {
      "name": "S2",
      "phone":"123456789"
    },
    "student3": {
      "name": "S3",
      "phone":"123456789"
    },
    "student4": {
      "name": "S4",
      "phone":"123456789"
    }
  },
  "teachers": {
    "student1": {
      "name": "T1",
      "phone":"123456789"
    },
    "student2": {
      "name": "T2",
      "phone":"123456789"
    },
    "student3": {
      "name": "T3",
      "phone":"123456789"
    },
    "student4": {
      "name": "T4",
      "phone":"123456789"
    }
  },
  "classes_enrollments": {
    "class1": {
      "teacher1": true,
      "teacher3": true,
      "student1": true,
      "student2": true
    },
    "class2": {
      "teacher2": true,
      "teacher4": true,
      "student3": true,
      "student4": true
    },
    "class3": {
      "teacher1": true,
      "teacher2": true,
      "student3": true,
      "student4": true,
      "student1": true,
      "student2": true
    }
  },
  "student_friends": {
    "student1": {
      "student2": true
    },
    "students2": {
      "student1": true,
      "student3": true
    },
    "students3": {
      "student2": true
    }
  },
  "teacher_friends": {
    "teacher1": {
      "teacher2": true
    },
    "teacher2": {
      "teacher1": true,
      "teacher3": true
    },
    "teacher3": {
      "teacher2": true
    }
  }

以及第二种方法如何获取班级1的完整数据:在哪个学校,学校的名称,教师和学生的人数以及他们的姓名和电话

谢谢

android firebase firebase-realtime-database many-to-many
1个回答
0
投票

我将两者混合。

© www.soinside.com 2019 - 2024. All rights reserved.