从SQL构建NodeJS对象

时间:2019-04-04 20:57:35

标签: sql node.js postgresql

我目前正在构建一个NodeJS Express API来与ReactJS前端一起运行。来自mongodb,那里的一切都是文档,我对如何从SQL收集数据有些迷惑。让我解释一下。

要构建使用API​​ Rest的ReactJS应用程序,我需要在前端使用适当的Objects结构。

以一个用户可以在一场比赛上下注的基本应用程序为例,

TABLE users (
  _id SERIAL PRIMARY KEY,

  username varchar(255) UNIQUE,
  password varchar(255)
);

TABLE matches (
    _id SERIAL PRIMARY KEY,

    EQA varchar(255), // These should be ids to teams but
    EQB varchar(255), // we try to keep it simple

    EQA_score INTEGER,
    EQB_score INTEGER,
);

TABLE bets (
    _id SERIAL PRIMARY KEY,
    user_id INTEGER REFERENCES users(_id),
    match_id INTEGER REFERENCES matches(_id),

    EQA_bet INTEGER,
    EQB_bet INTEGER,
);

然后在ReactJS中显示代词的历史,使用这种结构的数据将非常简单:

{
    username: 'Random name',
    bets: [
        {
            EQA_bet: 1,
            EQB_bet: 0,
            match: {
                EQA: 'Paris',
                EQB: 'London',
                EQA_score: 1,
                EQB_score: 0,

            }
        },
        {
            ...
        }
    ]
}

要构建此对象,我不知道什么是最好的:

  • 一个查询用户,下注和匹配并在JS中建立我的对象
  • 一个包含联接的查询,然后是一些长代码来构建我的对象
  • 我尚不知道的其他一些工具/策略

感谢您理解我的问题。这就是在前端没有要解释的平面对象

1 个答案:

答案 0 :(得分:0)

@Yooomi,您可以使用sequelize NPM软件包来创建对象模型,并可以定义不同模型之间的关系。您可以完成所有C.R.U.D.通过此操作。通过此包获得的响应将为JSON格式。您可以根据需要进行更改。

您可以浏览不同的博客并找到续集的用法。我在Google上搜索,发现了这个article,这似乎是一个不错的开始。

让我知道这是否有用。