【发布时间】:2019-05-07 15:44:41
【问题描述】:
我知道这不会像我写的那样起作用,而且我没有看到任何可以为我解决问题的答案。代码太长,无法放在这里,但我已经包含了一个要点的链接
https://gist.github.com/dhawkinson/41211d067ea91e0b7a5823067d2e39fe
我的问题是这样的:
我得到一个 json 文件的 id 列表,这些文件必须被读取并转换为多个 SQL 表中的行。该列表来自另一个 json 文件,以 id 数组的形式到我需要读取和转换的文件。
根据要求,SQL 表中不能有包含冗余数据的行。 SQL 的 ID 是自动生成的。 API 中有 3 类实体:
- 学习者 -- 参加课程的学生
- 课程 -- 为学习者提供培训机会(他们有孩子代表细节)
- 成果 -- 学习者在特定日期参加课程的交集(他们的孩子代表详细信息)
学习者和课程都可能在结果中出现多次,但在特定日期仅出现一次。但是,Learners 和 Course 只能分别在 Learners 和 Courses 表中出现一次(没有冗余)。
我的源数据是 4 个 json 结果,与我列表中的 4 个 id 匹配。高级视图如下(格式:Course_TimeStamp.json)
- id = 5sM5YLnnNMN_1525523468000.json(学习者 = daffy@duck.com)
- id = 5sM5YLnnNMN_1527517868000.json(学习者 = yogi@bear.com)
- id = 6tN6ZMooONO_1530730049000.json(学习者 = daffy@duck.com)
- id = 6tN6ZMooONO_1541011649000.json(学习者 = foghorn@leghorn.com)
当我解析和写入我得到的数据时:
- 3 行学习者(如预期)
- 3 课程行(1 是多余的,不允许)
- 4 个结果行(如预期)
- 课程和成果的孩子正在按预期编写。
鉴于我的限制,我该如何解决这个问题?我怀疑冗余问题可能会在一些模糊的情况下出现在学习者表中,尽管它还没有出现。我对所有表格都使用相同的方法。
感谢您的帮助。对不起,冗长。
【问题讨论】:
-
问题描述没有提到async或await,所以不清楚标题与问题的关系
-
我在代码中使用 async / await ,如果你看一下要点就会看到。
-
请在问题中发布您的代码的Minimal, Complete, and Verifiable example。不要依赖外部主机。
-
这个要点超过 250 行。您至少必须解释要点的哪一部分与标题相关,并指出给您带来麻烦的行号。
标签: json promise async-await sequelize.js