0

所以我将使用 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)
    }
}

所以,我唯一关心的是我在一行中插入字段的部分,我觉得我写了很多次列名,有什么办法可以像猫鼬一样把正文插入行中?

4

1 回答 1

0

我知道这已经很晚了,但是由于听起来您是 Mongoose 的粉丝,您可以使用为 MySQL 提供类似 Mongoose 接口的包之一完全抽象出 MySQL 语句。在 npmjs.com 上搜索“mysql mongoose”。结果包括@aponica/mysqlgoose-js、mysqloose 和鬣狗。

于 2021-03-08T21:47:56.170 回答