javascript - Nodejs创建用户端点,如何优化?
问题描述
所以我有一个 NodeJS 项目,我有一个端点,我在其中创建一个用户。我正在使用 Mongoose 创建用户模型以将其保存到 MongoDB 数据库。这是我的代码:
const User = require("../models/user");
const { validationResult } = require("express-validator");
exports.createUser = async (req, res, next) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
const error = new Error("Validación incorrecta");
error.statusCode = 422;
throw error;
}
const userName = req.body.userName;
const password = req.body.password;
const role = req.body.role;
//creandolo en la base de datos
const user = new User({
userName: userName,
password: password,
role: role
});
try {
await user.save(); //guardando en bd
res.status(201).json({
message: "Usuario creado con exito!",
user: user
});
} catch (err) {
if (!err.statusCode) {
err.statusCode = 500;
}
next(err);
}
};
我导入我的用户模型文件并使用 body-parser。我已经设置了一个带有 post 请求的端点,我在 Postman 上测试了这段代码,它可以工作。我是初学者,我刚刚在 Udemy 观看了 NodeJS 课程,并且正在遵循我在那里看到的代码模式。我的问题是我必须 req.body 解析每个字段(用户名、密码、角色),然后创建一个具有相同字段的新用户以直接在数据库中创建它,出于可扩展性的原因,我认为这将是一个问题,因为我打算在我的数据库中添加更多具有很多字段的模型。
解决方案
推荐阅读
- python - 如何检查表单字段的 m2m 键中的特定属性
- r - 如何在不保存结果的情况下将一个 dplyr 链的结果用于另一个
- regex - boost regex - 如何匹配一个范围内的偶数位数
- microsoft-cognitive - 401 由于印度中部地区的订阅密钥无效,访问被拒绝
- c# - 我没有收到错误,但代码没有按应有的方式工作
- python-3.x - 如何将 if、elif 条件中具有多个语句的 for 循环转换为 List Comprehensions
- python - 查找和删除 CSV 文件中的重复项
- php - 多个文件:提交后记住输入值
- intellij-idea - 如何在 Intellij Idea 上创建的 JavaFX 包中添加 JVMOptions
- python - 是否有任何方法可以在测试数据集范围之外生成股票价格预测?