gpt4 book ai didi

node.js - 对另一个sequelize 查询的每个结果运行Sequelize 原始查询

转载 作者:太空宇宙 更新时间:2023-11-04 02:22:37 25 4
gpt4 key购买 nike

我在 Node 应用程序中使用sequelize.js从查询中获取数据,然后为每个结果元素运行另一个sequelize原始查询。但由于回调,我没有得到结果。

我的代码:

var raw_query1 = "select id,name,has_results from users";
sequelize.query(raw_query1).then(function(results) {

var outputArray = []; // to store use results with additional results

for(i=0;i<results.length;i++){
outputArray[i].name = results[i].name;

var raw_query2 = "select * from meta where user_id = "+resulsts[i].id;

sequelize.query(raw_query2).then(function(meta_results) {
outputArray[i].meta = meta_results;
}


}

return res.json(outputArray); //Returning parsed results

});

我认为我们需要在这里使用 Promise,但我是 php 的新手,不知道如何继续,提前谢谢。

最佳答案

您需要使用bluebird.map

var raw_query1 = "select id,name,has_results from users";
sequelize.query(raw_query1).then(function(results) {

return bluebird.map(results, function(user){
var raw_query2 = "select * from meta where user_id = "+user.id;
return sequelize.query(raw_query2)
})
.then(function(metas){
return res.json(metas);
});
});

关于node.js - 对另一个sequelize 查询的每个结果运行Sequelize 原始查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32395033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com