Sequelizejs从2个mysql表获得1个查询的结果

时间:2017-06-18 14:52:57

标签: mysql node.js sequelize.js

我正在使用Nodejs和mysql开发一个项目。我使用Sequelize作为ORM。我有一个问题是我希望从2个不同的表中获得1个查询的结果。我需要制作一个回调结构,或者Sequelize有它自己的功能吗?

2 个答案:

答案 0 :(得分:1)

这将帮助您通过一个查询检索所有数据:

sequelize.query("select * from tbl_1 union all select * from tbl_2").then(function(rows){
    console.log("data",rows)
})

答案 1 :(得分:0)

你必须更清楚这两张桌子 他们有associations吗? 如果是,那么sequelize确实提供了连接,就像mysql加入一样 虽然Sequelize不直接支持Unions,但在这种情况下你可以很好地使用raw query
或者您可以使用Promises,基本上Promise.all,这有助于同时进行这两个查询。

根据评论
在这种情况下,你可以很好地使用承诺,

所以说你有2张桌子A和B. 你可以做点什么

return Promise.all([query for first table, query    for second table])

我建议在JS中阅读更多关于promises的内容。