【发布时间】:2017-08-10 20:19:50
【问题描述】:
我已经处理了几个小时的问题。 我正在尝试做下一件事:
我需要获取课程列表,这些课程是根据 sets 课程定义的,并且我需要属于该人的所有课程的数组。
这是结构如何看待 firebase:
我真的搞砸了,想写什么就写什么,使用 MergeMap 之类的。但这对我没有帮助。 请帮帮我。
我的代码看起来像这样,我有一个提供者应该返回我的课程列表。但我无法超越单个mergeMap。
上课服务:
getLessons(user: User): Observable<any[]>{
return this.database.list(`/lessons/${user.uid}`)
.mergeMap(key => this.database.list(`/lessons/${user.uid}/${key}`));
}
在课程页面:
private lessons: Lesson[];
ngOnInit(): void {
this.loader.present();
this.lessonService.getLessons(this.authenticatedUser)
.subscribe(_setLessonSet => {
_setLessonSet.forEach(set => {
set.forEach(lessonItem => {
this.lessons.push(lessonItem);
});
});
this.loader.dismiss();
});
}
我得到了这个错误:
错误错误:Reference.child 失败:第一个参数是无效路径 =“/lessons/eOqeJyTmQqQKa1bdzorMEDle4qD3/[object Object],[object Object]”。路径必须是非空字符串,并且不能包含“.”、“#”、“$”、“[”或“]”
感谢帮助!
【问题讨论】:
-
你为什么使用
mergeMap?
标签: javascript ionic-framework firebase-realtime-database angularfire2