Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

269
Views
No se puede registrar un nuevo usuario

Estoy creando un sitio web de comercio electrónico con la pila MERN pero no puedo registrar un nuevo usuario. Solo registra al primer usuario cuando borro la base de datos, pero luego muestra un código de error. Aquí está el código: El esquema de usuario:

 const mongoose = require("mongoose"); const UserSchema = new mongoose.Schema( { username: {type: String, required: true, unique: true,}, email: {type: String, required: true, unique: true, sparse: true,}, password: {type: String, required: true,}, isAdmin: {type: Boolean, default: false,}, }, { timestamps: true } ); module.exports = mongoose.model("User", UserSchema);

El controlador de usuario:

 const cryptoJS = require("crypto-js"); const User = require("../models/User"); // register const registerUser = async (req, res) => { const newUser = new User({ username: req.body.username, email: req.body.email, password: cryptoJS.AES.encrypt( req.body.password, process.env.SECRET_KEY ).toString(), }); console.log(newUser); try { await newUser.save(); res.json(newUser); } catch (err) { res.status(500).json(err); } };

El error :

 { "index": 0, "code": 11000, "keyPattern": { "name": 1 }, "keyValue": { "name": null } }
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

El código de error 11000 ( ref ) indica un valor duplicado para una clave única. Del error podemos leer que es un campo de name con valor null . Esto significa que está intentando guardar otro documento con un valor null en el campo de name , tiene un error en su código que está leyendo el nombre de usuario incorrectamente de la solicitud http entrante (a menos que esté enviando específicamente un campo vacío desde la interfaz). Verifique primero la base de datos para ver si tiene un documento con nombre de usuario null . Luego verifique que esté enviando los datos correctos a la API

about 4 years ago · Juan Pablo Isaza Report

0

Eliminar la base de datos de ATLAS ayudó. Ejecuté el servidor después de eliminar la colección de ATLAS y funciona bien.

about 4 years ago · Juan Pablo Isaza Report

0

así que creo que anteriormente podría haber tenido "nombre" como un campo obligatorio en su definición de UserSchema. por lo tanto, todavía espera que cada usuario tenga un campo y un valor de "nombre" que explique el error. borrar/sincronizar índices debería ordenarlo. puede dro indexar manualmente en mongodb para esa colección específica o usar mongoose para sincronizar los índices como se ve aquí .

Acabo de ver que OP resolvió el problema al eliminar la base de datos ... aunque esto seguramente lo soluciona, es drástico. Estoy seguro de que el error fue causado por la falta de un campo obligatorio. por lo tanto, si la situación vuelve a surgir, solo eliminar los índices será toda la ayuda que necesita, evitando eliminar otras colecciones que no se ven afectadas por el índice.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!