sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Qué es el error Mongoose Cast to ObjectId falló por el valor XXX en la ruta _id?

findById de mangosta método convierte el id parámetro al tipo de _id del modelo campo para que pueda consultar correctamente el documento coincidente. Este es un ObjectId pero "foo" no es un ObjectId válido, por lo que la conversión falla.

Esto no sucede con 41224d776a326fb40f000001 porque esa cadena es un ObjectId válido.

Una forma de resolver esto es agregar una verificación antes de su findById llamar para ver si id es un ObjectId válido o no es así:

if (id.match(/^[0-9a-fA-F]{24}$/)) {
  // Yes, it's a valid ObjectId, proceed with `findById` call.
}