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