Javascript 如何通知我已在express js中成功创建了sql池?
我正在使用mysql和expressjs创建一个restful API,下面是一个如何向数据库发送请求的示例: server.js: const express=需要“express”, bodyParser=需要“body-parser”, 端口=8080, app=express; //设置路线 const userRoute=require./routes/user.route'; //将req的主体解析为json app.usebodyParser.json; app.usebodyParser.urlencoded{ 扩展:false }; 应用程序。使用'/user',userRoute; app.listen 港口城市 =>console.log`API启动于http://localhost:${PORT}` 用户路由: const express=需要“express”; const userRoute=express.Router; const User=require'../controllers/User.controllers'; //检索所有用户 userRoute.route'/users'.getreq,res=>{ User.findAllreq,res; }; 用户控制器: const User=require../models/User.model.js; //从数据库中检索所有客户。 exports.findAll=req,res=>{ User.getAllerr,数据=>{ 如果出错 res.status500.send{ 信息: err.message | |检索用户时出错。 }; else res.senddata; }; } 用户模型: const sql=require'../tools/db'; User.getAll=result=>{ sql.querySELECT*FROM usilizateur,err,res=>{ 如果出错{ console.logerreur:,err; 结果全部,错误; 回来 } 控制台。日志使用者:,res; 结果全部,res; }; }; db: const mysql=require'mysql'; const dbConfig=require../config/database.config; //创建到数据库的连接 const connection=mysql.createPool{ 主机:dbConfig.host, 用户:dbConfig.user, 密码:dbConfig.password, 数据库:dbConfig.DB, 端口:dbConfig.port }| |空; /*ifconnection console.log连接到+connection.config.database+数据库*/ module.exports=连接; 我的请求工作正常,但我正在尝试控制台记录我的API成功连接到数据库的事实,我对我的尝试发表了评论,但日志给了我一个:Javascript 如何通知我已在express js中成功创建了sql池?,javascript,mysql,node.js,express,Javascript,Mysql,Node.js,Express,我正在使用mysql和expressjs创建一个restful API,下面是一个如何向数据库发送请求的示例: server.js: const express=需要“express”, bodyParser=需要“body-parser”, 端口=8080, app=express; //设置路线 const userRoute=require./routes/user.route'; //将req的主体解析为json app.usebodyParser.json; app.usebodyPa
Connected to undefined database!
有没有最好的方法来记录我的连接成功,并在过程中出现任何错误时进行处理?如果没有,我如何才能使connection.config.database正确写入我的数据库名称在调用console.log之前,必须确保mysql.createPool函数已完成执行
尝试以下更改:
const connection=mysql.createPool{
主机:dbConfig.host,
用户:dbConfig.user,
密码:dbConfig.password,
数据库:dbConfig.DB,
端口:dbConfig.port
}.thencon=>{
console.logcon.config.database
返回控制
}
在调用console.log之前,必须确保mysql.createPool函数已完成执行
尝试以下更改:
const connection=mysql.createPool{
主机:dbConfig.host,
用户:dbConfig.user,
密码:dbConfig.password,
数据库:dbConfig.DB,
端口:dbConfig.port
}.thencon=>{
console.logcon.config.database
返回控制
}
问题是您正在调用连接对象中的未定义属性 这应该很好: const mysql=requiremysql; const connection=mysql.createPool{ 主机:dbConfig.host, 用户:dbConfig.user, 密码:dbConfig.password, 数据库:dbConfig.DB, 端口:dbConfig.port }; const database=connection.config.connectionConfig.database; console.log`Connected to${database}database!`;
问题是您正在调用连接对象中的未定义属性 这应该很好: const mysql=requiremysql; const connection=mysql.createPool{ 主机:dbConfig.host, 用户:dbConfig.user, 密码:dbConfig.password, 数据库:dbConfig.DB, 端口:dbConfig.port }; const database=connection.config.connectionConfig.database; console.log`Connected to${database}database!`; 似乎TypeError:mysql.createPool…然后不是函数似乎TypeError:mysql.createPool…然后不是函数