Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

268
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda