nodeJs,运行两次sql可以将它们组合成json
nodeJs , run sql twice can combine them to json
我正在使用node js构建api。这是我的代码
var keyword = req.body.keyword;
var sql = "SELECT xxxx WHERE xxx";
connection.query(sql,function (err,row){
if(err) {
res.json({"Error" : true});
} else {
res.json({"Result" : row});
}
});
然后,我得到了结果
{
"Result": [
{
"xxx": xxx,
"yyy": "yyyy"
}
]
}
但是现在,我需要将许多sql结果合并为一个json。
{"ResultA":[{"xxx","xxx" , "yyy":"yyyy"}] ,
"ResultB":[{"xxx","xxx" , "yyy":"yyyy"}] ,
"ResultC":[{"xxx","xxx" , "yyy":"yyyy"}] }
我可以将结果存储在sql的变量中然后运行:
res.json({"ResultA" : a , "ResultB" :b , "ResultC":c});
得到结果?
我试图复制代码并添加
res.write(",");
链接 jsons ,但它告诉我结束后我无法写。
您需要先收集整个响应,然后再将其发送回客户端。这意味着缓冲每个查询的输出。例如:
var results = [];
connection.query('SELECT xxx FROM yyyy', function(err, row) {
if (err)
result.push({ErrorA: true});
else
result.push({ResultA: row});
onFinish();
});
connection.query('SELECT xxx FROM yyyy', function(err, row) {
if (err)
result.push({ErrorB: true});
else
result.push({ResultB: row});
onFinish();
});
connection.query('SELECT xxx FROM yyyy', function(err, row) {
if (err)
result.push({ErrorC: true});
else
result.push({ResultC: row});
onFinish();
});
function onFinish() {
if (results.length === 3)
res.json(results);
}
如果您不需要使用特定于查询的结果键名称(例如 ResultA
、ResultB
等(结果顺序无关紧要:
var results = [];
var queries = [
'SELECT xxxx FROM yyyy',
'SELECT xxxx FROM yyyy',
'SELECT xxxx FROM yyyy'
];
for (var i = 0; i < queries.length; ++i)
connection.query(queries[i], onResult);
function onResult(err, row) {
if (err)
results.push({Error: true});
else
results.push({Result: row});
if (results.length === queries.length)
res.json(results);
}
相关文章:
- 根据id将json数组组合为一个json数组
- 将组合JSON文件加载到谷歌地图
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 通过组合变量在解析JSON时访问随机对象
- 将字符串与 JSON 对象组合以返回数据
- JavaScript JSON组合和数据Anylish
- 将json值组合在一起并创建csv
- Javascript将JSON放入数组中,组合并在其他地方使用
- 使用 JSON 组合字符串和数组
- Angularjs - 组合两个 json 对象
- 用 JSON 填充 ExtJS 组合框
- 合并位置并从 JSON 输出组合数据
- 使用 JSON 值填写组合框
- 组合JSON文件
- 如何组合JSON对象与相同的键,并添加他们的其他相应的值
- 组合JSON "row "转换为带有“列”的新对象
- 使用grunt-contrib-concat组合JSON文件
- 组合json对象jquery
- 重新组合 json 数组
- 尝试过滤和组合JSON项