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

109
Vistas
por qué Console.log (req.body.post) da la identificación correcta pero al usarla en Post.findById devuelve indefinido

Cuando uso req.body.post en Post.findById , no está undefined , pero cuando uso la id directa en Post.findById , funciona bien. undefined Console.log(req.body.post) undefined la identificación correcta, pero al usarla en Post.findById .

 const Post = require('../models/post'); module.exports.create = function(req,res){ console.log(req.body.post); Post.findById(req.body.post,function(err,post){ console.log(post); return res.redirect('/'); }) }
 Output 62175534d37c9ce165033cee undefined

cuando uso la identificación directa, que es console.log print, funciona bien.

 const Post = require('../models/post'); module.exports.create = function(req,res){ console.log(req.body.post); Post.findById('62175534d37c9ce165033cee',function(err,post){ console.log(post); return res.redirect('/'); }) }
 Output { comment: [], _id: new ObjectId("62175534d37c9ce165033cee"), content: 'sdf', user: new ObjectId("621749248e7de90faa6263d4"), createdAt: 2022-02-24T09:51:48.621Z, updatedAt: 2022-02-24T09:51:48.621Z, __v: 0 }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

La salida de console.log() a veces puede ser engañosa, si registra una expresión de objeto. Puede imprimir un valor que aún no estaba configurado en ese momento, cuando la ejecución del código llegó a la instrucción console.log() (mire aquí, por ejemplo: console.log() async o sync? )

Para estar seguro con su salida de registro, modifique su código de esta manera:

 const Post = require('../models/post'); module.exports.create = function(req,res){ const stringToLog = req.body.post; console.log(stringToLog); Post.findById(req.body.post,function(err,post){ console.log(post); return res.redirect('/'); }) }

No se sorprenda si esto lleva a un resultado diferente (o tal vez no).

about 4 years ago · Juan Pablo Isaza Denunciar

0

Debe importar ObjectId de mongodb. Entonces intenta encontrar una identificación como la siguiente:

db.nombre_de_la_colección.find(ObjectId('621749248e7de90faa6263d4'))

Como puede ver en su base de datos, no es solo una cadena simple, es un objeto.

referencia: https://docs.mongodb.com/manual/reference/method/ObjectId/

about 4 years ago · Juan Pablo Isaza 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