我有以下代码调用我的数据库并提取信息
// GET the number of apples left in stock
app.get('/apples', function (req, res) {
sql.connect(config, function() {
var request = new sql.Request();
request.query("select quantity from table WHERE type = 'apple'", function(err, recordset) {
var arrayLength = recordset.length;
for (var i = 0; i < arrayLength; i++) {
console.log(recordset[i]["quantity"]);
res.render('index', {results: recordset});
};
});
})
})
这很完美..当我浏览到该页面时,它会将我发送到索引页面,然后我可以在控制台日志中看到DB吐出的值
然后在我的index.pug文件中
h3(align='middle') #{results}
在索引页面上,我仅看到此[object Object]
答案 0 :(得分:2)
首先,您不应该在for循环中多次调用res.render
。
app.get('/apples', function (req, res) {
sql.connect(config, function () {
var request = new sql.Request();
request.query("select quantity from table WHERE type = 'apple'", function (err, recordset) {
var arrayLength = recordset.length;
for (var i = 0; i < arrayLength; i++) {
console.log(recordset[i]["quantity"]);
};
res.render('index', { results: recordset });
});
});
});
然后,您应该在帕格文件中使用each
来迭代结果集。
更多迭代文档:https://pugjs.org/language/iteration.html
each val in results
h3(align='middle')=val.quantity