【发布时间】:2018-04-09 07:51:27
【问题描述】:
目前我没有在我的设置中使用连接池,因为我的应用程序中只有 1-4 个用户。
根据doc,这是推荐的方式。
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret'
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
现在,我所做的是导出连接对象并将其共享给其他 api 资源。
关于 db.js 文件
var mysql = require('mysql');
var connection = mysql.createConnection({ ... });
module.exports = connection;
关于 api.js 文件
const express = require('express');
const router = express.Router();
const conn = require('./db');
router.post('/create', function (req, res) {
connection.query('INSERT ...', function (error, results, fields) {
if (error) throw error;
// connected!
});
});
router.post('/update', function (req, res) {
connection.query('UPDATE SET ...', function (error, results, fields) {
if (error) throw error;
// connected!
});
});
等等同样适用于这些示例中省略的其他 api 资源..
这种连接设计有什么缺点?
【问题讨论】:
标签: javascript mysql node.js express node-mysql