首页 > 解决方案 > 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 解析每个字段(用户名、密码、角色),然后创建一个具有相同字段的新用户以直接在数据库中创建它,出于可扩展性的原因,我认为这将是一个问题,因为我打算在我的数据库中添加更多具有很多字段的模型。

标签: javascriptnode.jsmongodbmongooseendpoint

解决方案


推荐阅读