【发布时间】:2023-04-06 23:42:01
【问题描述】:
我正在尝试将来自下面查询的行集存储到一个变量中,以便我可以将它播放到视图中并循环遍历它。
我正在从数据库中获取结果,并且可以将它们 console.log 到 db.each 块中,我想我可以在下面生成我的 JSON 对象然后存储它 - 但它不是出于某种原因设置它并且 var data = "" 只返回一个空字符串。
我有点困惑为什么 - 请问有人知道我哪里出错了吗?
感谢您抽出宝贵时间阅读。
var express = require('express');
var router = express.Router();
var db = require('../lib/db.js');
/* GET contacts listing. */
router.get('/', function(req, res) {
var data = "";
db.serialize(function() {
var rowset = db.each("SELECT b.forename, b.surname FROM contacts a, contact_attributes b WHERE a.contact_id = b.contact_id", function(err, row) {
data = ' { "'+row.contact_id+'" : [ { "forename" : "'+row.forename+'", "surname" : "'+row.surname+'" } ] } ';
});
});
res.render('contacts', {
title: "Contacts",
active: "contacts",
contacts: JSON.stringify(data)
});
});
module.exports = router;
【问题讨论】:
-
这是同步数据库调用吗?