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

Node.js 对另一个Sequelize查询的每个结果运行Sequelize原始查询,node.js,sequelize.js,q,bluebird,async.js,Node.js,Sequelize.js,Q,Bluebird,Async.js,我正在节点应用程序中使用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 addi

我正在节点应用程序中使用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

});
var raw_query1=“选择id、名称,从用户处获得结果”;
sequelize.query(原始查询1).然后(函数(结果){
var outputArray=[];//用于存储包含其他结果的使用结果

对于(i=0;i您需要使用
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);
    });
});

您需要使用
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);
    });
});