我收到此错误“ UnhandledPromiseRejectionWarning:TypeError:无法读取寄存器中未定义的属性'query'”。
我看过的其他帖子似乎是由于数据库无法正确连接而引起的,但是我收到了console.log消息,表明数据库已连接。
const { db } = require("../config/db.js");
module.exports = {
async register(req, res) {
db.query(
"INSERT INTO users(username, email, password) VALUES(?, ?, ?)",
[req.body.username, req.body.email, req.body.password],
(err, results, fields) => {
if (!err) {
res.send("it worked!");
} else {
console.log("error");
}
}
);
}
};
const mysql = require("mysql");
const db = mysql.createConnection({
host: "localhost",
user: "root",
database: "gpsdb"
});
db.connect((err) => {
if(err){
throw(err);
}
console.log('connected to db');
});
module.exports = db;
似乎数据库未正确导出或其他原因,但是我看不出是什么原因引起的。我基于本教程 https://www.youtube.com/watch?v=xZMwg5z5VGk&t=946s @ 23分钟标记
答案 0 :(得分:0)
将db
导出为对象:
module.exports = { db };
如果您对语法感到困惑,可以使用它的ES6语法糖:
module.exports = { db: db };