在 nodeJS 应用程序中发送默认角色

Sending default role in nodeJS application

Whosebug 社区!

我一直在做一个涉及角色的项目。现在我通过邮递员指定了一位管理员和一位版主,并将其保存到我的数据库中。

现在,当用户注册时,我想将“用户”的默认角色发送到我的数据库,管理员可以稍后更新(如果他愿意的话)。

我将发送角色类型的旧代码:

exports.signup = (req, res) => {
  // Save User to Database
  console.log("Processing func -> SignUp");
  
  User.create({
    name: req.body.name,
    username: req.body.username,
    email: req.body.email,
    password: bcrypt.hashSync(req.body.password, 8)
  }).then(user => {
    Role.findAll({
      where: {
      name: {
        [Op.or]: req.body.roles
      }
      }
    }).then(roles => {
      user.setRoles(roles).then(() => {
        res.send("User registered successfully!");
            });
    }).catch(err => {
      res.status(500).send("Error -> " + err);
    });
  }).catch(err => {
    res.status(500).send("Fail! Error -> " + err);
  })
}

邮递员请求看起来像:

{
    "name": "Examp",
    "username": "example",
    "email": "gmail@gmail.com",
    "roles": ["admin"],
    "password": "12345"
}

这非常有效。我现在只想发送没有“角色”部分的邮递员请求。我知道这个技巧在 Role.finndAll 部分的某个地方,但我无法弄清楚(嗯,我认为它在那里,哈哈)。我试图用 roles: ["user"] 替换 [Op.or]: req.body.roles 但它没有用。

非常感谢您的帮助! 谢谢!

解决方案是@Anatoly 需要更正的是

where: {       name: "user"       }

你可以试试这个:

where: { 
  name: "user"
}

写在SQL查询中等于name="user"