Estoy creando un nuevo usuario y verificando si el correo electrónico del usuario existe previamente o no. Si no, entonces está creando un nuevo usuario y guardándolo. ¿Qué necesito para corregir este error de validación que estoy recibiendo?
Ya lo intenté configurando el nombre como no requerido. Pero todavía no funciona.
Este es mi modelo de usuario.
Usuario.js
import mongoose from 'mongoose' const UserSchema = new mongoose.Schema( { username: { type: String, required: true, unique: true, }, email: { type: String, required: true, unique: true, }, password: { type: String, required: true, }, profilePic: { type: String, default: "", }, }, { timestamps: true } ); const User = mongoose.model("User",UserSchema) export default Usereste es mi archivo de enrutador
import User from '../model/User.js' import express from 'express' const router = express.Router() //register router.post("/register",async (req,res) => { try{ const newUser = new User({ username:req.body.username, password:req.body.password, email:req.body.email }) const user =await newUser.save() res.status(200).json(user) }catch(err){ res.status(500).json(err) } }) export default routeresta es mi aplicación.js
import express from 'express' import mongoose from 'mongoose' import dotenv from 'dotenv' import UserRoute from './routes/User.js' const app = express() dotenv.config() app.use(express.json()) app.use(express.urlencoded({ extended: true })); const PORT = process.env.PORT || 3000 mongoose .connect(process.env.MONGO_URL, { useNewUrlParser: true, useUnifiedTopology: true }) .then(console.log("Connected to MongoDB")) .catch((err) => console.log(err)); app.use("/api/auth",UserRoute) app.listen(PORT , () => console.log(`backend started on ${PORT}` ))También me doy cuenta de una cosa si trato de cifrar la contraseña y luego la uso en mi ruta, luego de hacer una solicitud en el cartero en lugar de un mensaje de error, obtengo un objeto nulo {} en el cartero, ¿cuál es el motivo?
¿Cuál es el problema en el código? Probé diferentes formas de solucionarlo tomando como referencia el desbordamiento de la pila, pero no funcionó.
Gracias por tu ayuda
¿Cómo es el cuerpo de tu solicitud? ¿Estás seguro de que hay req.body.username y req.body.passwords? Pruebe console.regístrelos antes de guardar el usuario y verifique que no estén indefinidos.