Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

211
Vistas
La opción ordenada de Mongodb no funciona cuando se usa el método insertMany en Nodejs

Estoy usando Mongodb en mi aplicación. Es la versión 4.4.1 . He establecido la opción única en el campo de palabras como verdadera.

Y uso este código:

 try { const words = [ { word: "her" }, { word: "her" }, { word: "gathered" }, { word: "together" }, { word: "and" }, { word: "rather" }, ]; const result = await wordsDb .collection .insertMany(words, { ordered: false }); console.log(result.insertedCount); // nothing to console } catch (error) { console.log(error.message); // E11000 duplicate key error index: word_1 dup key: { word: "her" } }

Todavía da el "error de clave duplicada". ¿Por qué está pasando? Gracias.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si establece una restricción unique en el campo de word , no puede insertar en la colección 2 documentos con el mismo valor ('ella') para el campo de word .

Y no puede omitir la restricción con la opción {ordered: true} .

De hecho, arrojar el error no significa que no se inserten otros documentos. ¿Comprobaste si estaban insertados? Si pruebo con un ejemplo similar al tuyo (no en Node sino en MongoDb Compass ), también me sale el error, pero los documentos están todos insertados en la colección (excepto el que tiene la clave duplicada, obviamente, que se inserta solo una vez).

Además, considere que el error de inserción arrojado hace que el código salte inmediatamente al bloque catch(error) , por lo que no se puede mostrar su console.log(result.insertedCount) .

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda