MSSQL的NodeJS在.query都记录集和记录返回双倍数据
问题描述:
我看到所有的数据行重复两次,在我的JSON从MSSQL中的节点返回:MSSQL的NodeJS在.query都记录集和记录返回双倍数据
{
"recordsets": [[{
"student_firstname": "Jonah ",
"student_lastname": "Hill "
}, {
"student_firstname": "Debra ",
"student_lastname": "Smith "
}
]],
"recordset": [{
"student_firstname": "Jonah ",
"student_lastname": "Hill "
}, {
"student_firstname": "Debra ",
"student_lastname": "Smith "
}
],
"output": {},
"rowsAffected": [2]
}
我临时改变了查询得到两行看看是否所有的行都是重复的,而且它们正如你上面看到的那样。
function getStudent(studentID)
{
console.log("---------getStudent");
sql.on('error', err => {
// ... error handler
console.log("DB Error2: " + err);
})
return sql.connect(config).then(pool => {
// Query
return pool.request()
.input('input_parameter', sql.Int, studentID)
//.query('select student_firstname, student_lastname from students where student_id = @input_parameter')
.query('select student_firstname, student_lastname from students where student_id in (31,32)')
}).then(function(result) {
console.log("getStudent:then(result=>");
console.dir(result);
sql.close();
return result;
})
.catch(err => {
// ... error checks
console.log("DB Error1: " + err);
sql.close();
throw err;
})
}
上述函数在返回JSON的app.get语句中调用。
的console.dir(结果)示出了与上述相同的JSON,除了显示“本发明的课题:在第一行中,所以我不认为它进一步包裹JSON
{ recordsets: [ [ [Object], [Object] ] ],
recordset:
[ { student_firstname: 'Jonah ',
student_lastname: 'Hill ' },
{ student_firstname: 'Debra ',
student_lastname: 'Smith ' } ],
output: {},
rowsAffected: [ 2 ] }
。 。我可以用这样的数据的工作,但它浪费带宽
答
的数据不会重新调整两次,但只是通过两个属性暴露的recordset
财产只是暴露了recordsets
第一记录
result.recordsets.length // count of recordsets returned by the procedure
result.recordsets[0].length // count of rows contained in first recordset
result.recordset // first recordset from result.recordsets