使用angular8

时间:2019-09-12 17:18:48

标签: google-cloud-firestore angular8

我有一个父集合(类)和该父集合的子集合(学生)。 “学生”集合具有一个名为“ student_id”的字段。我需要的是为特定的student_id获取所有课程。

我花了很多时间在寻找答案,但是找不到答案。请帮我。

我尝试过这个。但不起作用

export class ClassService {
  constructor(private db: AngularFirestore) { }

  loadClasses(studentId: String) {
    return this.db.collection('class', ref => ref.where('students.student_id', '==', studentId)).get();
  }
} 

请帮助。谢谢

1 个答案:

答案 0 :(得分:0)

Firestore还不提供与子集合文档匹配的条件来支持查询父集合的文档。

不过,您可以使用一种解决方法。您可以使用collections-group query在所有学生子集合中查找与studentId匹配的所有学生文档,并查询每个学生文档的父文档。

我建议使用其他数据库结构,其中StudentClass是您的用例的单独集合。

希望这会有所帮助。