【发布时间】:2021-12-05 00:58:32
【问题描述】:
我正在开发下面的中间件 AuthController.js。中间件是 CRUD 应用程序的一部分。我创建了exports.create,它会在请求时从 CRUD 表单中收集名字和姓氏。一旦收集到 MySql INSERT 查询,将在 MySql user 表中插入数据,该表工作正常。
我无法实现并且需要帮助的是,除了我想插入的名字和姓氏信息之外,变量{ user_id: decoded.id }、decoded.id 是一个变量,它从另一个 MySql 表中获取 user_id 值叫login。
当我请求export.create 时,终端上显示以下错误:
(node:18780) UnhandledPromiseRejectionWarning: TypeError: argument callback must be a function when provided
基本上我希望将login 表中user_id 列下的值转移到user 表上的user_id 列。感谢您的帮助。
exports.create = async (req, res, next) => {
if (req.cookies.jwt) {
try {
//1)verify the token
var decoded = await promisify(jwt.verify)(req.cookies.jwt,
process.env.JWT_SECRET
);
// console.log(decoded);
const { first_name, last_name } = req.body;
connection.query('INSERT INTO user SET first_name = ?,last_name = ?', { user_id: decoded.id }, [first_name, last_name,], (err, rows) => {
if (!err) {
res.render('add-crew', { alert: 'Crew member added succesfully!' });
} else {
console.log(err);
}
console.log('The data from user table:\n', rows);
});
} catch (error) {
console.log(error);
return next();
}
}
};
【问题讨论】:
标签: javascript mysql node.js express crud