从3个相关表中获取数据

时间:2019-02-01 14:40:49

标签: mysql node.js express

我正在尝试使用ExpressJS和MySQL构建类似REST-API的应用程序。 我有一个像这样的表结构:

Course Table:
+----+--------+
| ID | TITLE  |
+----+--------+
|  1 | titel1 |
+----+--------+

Sections Table:
+----+----------+-----------+-----------+
| ID |  TITLE   |  CONTENT  | COURSE_ID |
+----+----------+-----------+-----------+
|  1 | Section1 | Content 1 |         1 |
|  2 | Section2 | Content 2 |         1 |
+----+----------+-----------+-----------+

Content Table:

+----+--------+----------+------------+
| ID | TITLE  | CONTENT  | SECTION_ID |
+----+--------+----------+------------+
|  1 | Title1 | Content1 |          1 |
|  1 | Title2 | Content2 |          2 |
+----+--------+----------+------------+

{
id: 1,
title: title1,
sections: [
    {
        id: 1,
        title: section1,
        text: Content 1,
        contents: [
            CONTENT OBJECT HERE
        ]
    },
    {
        id: 2,
        title: section2,
        text: Content 2,
        contents: [
            CONTENT OBJECT HERE
        ]
    }

]

}

我已经获得了课程和相应部分的数据。但是异步和map函数有任何问题,我没有完全得到..

实际上,我正在这样做: 通过ID提取一门课程,然后使用其回调获取属于该课程的部分。我将这些部分添加到课程对象中,最后返回。效果很好。

但是,如果我遍历每个部分并尝试查询其内容,看来我的map()函数不会等到一切都完成之后。

这种情况有解决方案吗?我认为执行这样的查询是一项非常非常普遍的任务。我不明白为什么很难实现这种功能。

0 个答案:

没有答案