本文介绍了单个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中的多个查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!