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

313
Vistas
Mongoose - Modle.update () actualiza el documento incorrecto - Error de conversión

Necesito ayuda para aclarar algunas cosas.

Tengo un modelo:

 var Event = new Schema({ event_code: String , segments: [Segment] });

La creación de nuevos documentos funciona muy bien como perfecto. Cuando se trata de actualizar ciertos documentos, me encontré con algunos problemas.

Cuando hago esto (código a continuación): = solo actualiza el primer documento, incluso si la identificación no coincide

 function edit_event (id, new_name, callback) { Event.update(id, {$set:{event_code: new_name}}, function(err, doc) { if (err) throw err; callback(); }); }

Cuando hago esto (código a continuación): = me da un error (ver a continuación)

 function edit_event (id, new_name, callback) { Event.findByIdAndUpdate(id, {$set:{event_code: new_name}}, function(err, doc) { if (err) throw err; callback(); }); }

Error al usar findByIdAndUpdate: la conversión Cast to ObjectId failed for value ""58fdbde31bff83141b376508"" at path "_id" for model "Event"

Por favor, estoy desesperada :! :/

ACTUALIZAR

Descubrí que la identificación que estoy tratando de pasar se almacena con "" a su alrededor, por lo que cuando busco un documento con una identificación coincidente, se coloca un par adicional de "" alrededor, por lo que termina como ""id" "

ACTUALIZAR 2

Cuando estoy enumerando todos mis documentos, devuelve:

 { _id: 58fdbde31bff83141b376508, event_code: 'TestABC', __v: 0, segments: [] }

Luego, cuando almaceno la identificación en un formulario HTML, agrega un par adicional de "" a su alrededor ... ese no es el caso con event_code. Porqué es eso ?

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

0

Parece que realizó JSON.stringify innecesario y es por eso que obtiene comillas alrededor de la id . Llamar JSON.parse debería resolver el problema:

Event.findByIdAndUpdate(JSON.parse(id), {$set:{event_code: new_name}}, ...

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