单个api中的多个查询 [英] Multiple queries in a single api

查看:113
本文介绍了单个api中的多个查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在具有两个查询的nodejs中编写一个api,从查询中获取的数据应该合并,并且应该从服务器发送一个json响应.我尝试了以下方式,但是不知何故我得到了空值.

I am trying to write an api in nodejs with two queries in it the data fetched from the queries should be merged and a single json response should be send from the server . I tried the following way but somehow i am getting null value.

app.get('/api/task_details',function(req,res,err){
    var sql = "select * from users inner join user_level_task on users.user_id=user_level_task.user_id inner join tasks on tasks.task_id = user_level_task.task_id where task_name = 'game'";
    var sql2="select * from tasks where task_name='game'";
    var res1 = '',res2='';
    db.select(sql,function(err,data){
        var res1 =data;
    })

     db.select(sql2,function(err,data){
        var res2 = data;
    })

    res.end(JSON.stringify(res1+res2));
})

推荐答案

您的代码应像这样.

app.get('/api/task_details',function(req,res,err){
    var sql = "select * from users inner join user_level_task on users.user_id=user_level_task.user_id inner join tasks on tasks.task_id = user_level_task.task_id where task_name = 'game'";
    var sql2="select * from tasks where task_name='game'";
    var res1 = {}
    db.select(sql,function(err,data1){
        db.select(sql2,function(err,data2){
        res1.data1= data1;
        res1.data2=data2;
        res.end(JSON.stringify(res1));
    })
    })

})

这篇关于单个api中的多个查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆