语言数据库结构的Firebase数据库设计

时间:2016-11-05 04:18:30

标签: database firebase data-structures database-design nosql

我有一个与firebase数据库结构/ nosql数据库设计有关的问题。我的结构如下所示:

Language
-> Course
--> Lesson
----> Exercise / Vocabulary

每次我完成练习时,我都希望将已解决且未解决的声音的统计数据保存到firebase数据库中,以便在每节课时跟踪用户的优秀程度。但是,我正在努力寻找一个好的解决方案,这个解决方案不需要太多的请求,也不需要奇怪的数据库设计。

所以我想出了跟踪这样的课程统计数据的想法:

完成一课后,将每个已解决或未解决的练习推送到user_stats_lessons,如下所示:

/user_stats_lessons/{userId}/lessons/{lessonId}/stats/{solved: Int, failed: Int}

所以我在LessonView上为每节课设置了一个监听器。

ref.child("user_stats_lessons").child(user.uid).child("lessons")

因此,每当课程发生变化时,我都会在课程中进行迭代,并使用相应的课程键找到课程,以查找我正在寻找的统计数据。但我认为这不是解决这个问题的最佳方案。

0 个答案:

没有答案