所以我使用mysql2驱动程序来使用带有节点的Mysql。假设我在一行中有25到30个可能更多的字段,在从正文中提取每一列之后,我是否必须手动写入每一列。我目前的方法如下,下面是完整的控制器,以便更好地理解。
exports.registerUser = async (req, res, next) => {
let errors = validationResult(req)
if (!errors.isEmpty()) {
let err = new Error()
err.errors = errors
err.status = 400
next(err)
}
console.log('entered')
let { user_role_id, name, email_id, password,
mobile_no, work_exp_years, work_exp_month,
resume, current_location } = req.body
try {
let query = `INSERT INTO user_account_details
(user_role_id, name, email_id, password,
mobile_no, work_exp_years, work_exp_month,
resume, current_location) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`
let [insertRow] = await mysql.execute(query, [user_role_id, name, email_id, password,
mobile_no, work_exp_years, work_exp_month,
resume, current_location])
if (!insertRow) {
throw new Error('Insert error')
}
return res.status(200).json({ result: insertRow })
} catch (err) {
let error = new Error()
error.errors = err
next(error)
}
}
所以,我唯一关心的是在一行中插入字段的部分,我觉得我写了很多次列名,有没有办法像猫鼬一样把正文插入行中?
我知道这已经很晚了,但因为听起来你是Mongoose的粉丝,所以你可以使用一个为MySQL提供类似Mongoose接口的包来完全抽象MySQL语句。在npmjs.com上搜索";mysql猫鼬"结果包括@aponica/mysqlgoose-js、mysqloose和hyena。