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

336
Vistas
toObject no es un error de función en mongoose

Este es el archivo de controladores de archivosPost. Aquí busco todos los datos de MongoDB y también presiono los datos allí. La función funciona muy bien sin iniciar sesión en la consola con la información de usuario, pero cuando intento iniciar sesión en la consola, aparece el error de que userInfo.toObject ({getters: true}) no es una función. Intenté usar JSON() pero obtuve el mismo error.

 const { validationResult } = require("express-validator"); const HttpError = require("../models/http-error"); const File = require("../models/file"); const User = require("../models/user"); const getFilesByUserId = async (req, res, next) => { const userId = req.params.uid; let filePosts; try { filePosts = await File.find({ creator: userId }); } catch (err) { return next(new HttpError("Fetching failed, please try again.", 500)); } const userInfo = User.findById(userId); if (!filePosts || filePosts.length === 0) { return next( new HttpError("Could not find files for the provided user id.", 404) ); } console.log(userInfo.toObject({ getters: true })); res.json({ filePosts: filePosts.map((file) => file.toObject({ getters: true })), }); };
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En su función asíncrona, su código continúa aunque la llamada a User.findById(userId) no esté completa. Puede usar una declaración de await para asegurarse de que la función se haya ejecutado antes de que continúe su código.

Su código debería funcionar si cambia const userInfo = User.findById(userId); a

 const userInfo = await User.findById(userId);

Para obtener más información, aquí está la documentación de async/await: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

about 4 years ago · Juan Pablo Isaza Denunciar

0

Solo necesitaba agregar await.

const userInfo = await User.findById(userId);

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