La aplicación contiene varios programas que tienen cursos asignados. Estoy tratando de hacer modificaciones a la matriz de cursos usando arrastrar y soltar (arrastrando cursos de 'Cursos disponibles' a 'Cursos asignados' de un programa).
La función 'createProgram' se llama cuando se realiza una solicitud de actualización. Toma los valores iniciales del programa existente, asigna los nuevos cursos que provienen de un componente de arrastrar y soltar. Luego pasa el nuevo objeto a la ruta de actualización.
const createProgram = () => { newProgram = { _id: existingProgram._id, info: { name: existingProgram.name, // {required: true, unique: true, trim: true} overview: existingProgram.overview, // {default: null, trim: true} thumbnail: existingProgram.thumbnail, // {default: null, trim: true} subtitle: existingProgram.name .toLowerCase() .replace(/ /g, '-') .replace(/[^\w-]+/g, '') .replace(/-+/g, '-'), // {required: true, unique: true, trim: true} }, // populating 'courses' array with pre-existing values then mapping the new courses // coming from 'Mapped Courses' column of react Drag & Drop courses: [ ...existingCourses, columns['Mapped Courses'].items.map((course, index) => ({ id: course.id, name: course.content, sequence: index, })), ], }; axios .put('https://updateProgramAPI/') .then((response) => console.log(response)) .catch((err) => console.log(err)); };Pero MongoDB muestra el siguiente error:
code: 11000, codeName: 'DuplicateKey', keyValue: { 'courses.sequence': 1 }, '$clusterTime': { clusterTime: Timestamp { _bsontype: 'Timestamp', low_: 2, high_: 1637694265 }, signature: { hash: [Binary], keyId: [Long] } }La base de datos no se actualiza.