创建用户时无法对角色进行硬编码

时间:2019-02-28 10:29:17

标签: node.js express roles

我收到如下错误:

  

“角色:“用户”语法错误:参数列表后丢失”

在创建用户时尝试对用户的角色进行硬编码。

我的注册功能

  async register (req, res) {
    try {
      const user = await User.create(
        req.body.username,
        req.body.email,
        req.body.password,
        req.body.firstName,
        req.body.lastName,
        role: 'User'
      )
      const userJson = user.toJSON()
      res.send({
        user: userJson,
        token: jwtSignUser(userJson)
      })
    } catch (err) {
      res.status(400).send({
        error: 'This email account is already in use.'
      })
    }
  }

1 个答案:

答案 0 :(得分:1)

User.create呼叫不正确。在给出参数列表和role: 'User'的情况下,它期望一个对象,这是语法错误。

如果需要req.bodyrole字段中的某些字段,则应为:

...
const { username, email } = req.body;
const user = await User.create({ username, email, role: 'User' });
...