• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

486
Views
¿Cómo seleccionar * de 'x' en mongodb?

Estoy tratando de recibir todos los campos en mi base de datos en mi llamada API

Mi código:

 exports.objfields = async (req, res, next) => { try { var db = mongo.connection; var objeto = req.headers.objeto; const result = db.db.collection(objeto).find(); return res.status(200).send({message:result}); } catch (error) { return res.status(401).send({ message: error.message }); } };

Para los resultados 200, me devuelve la siguiente oración "message": {"_events": {},"_eventsCount": 0} , ¿cómo puedo devolver los campos en la llamada a la API? (obs. También probé find({}) , pero devuelve lo mismo)

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Veo dos problemas con tu código:

  1. ¿Estás seguro de que debería ser: db.db.collection y no db.collection ? Es difícil saberlo sin ver el código de inicio de la base de datos, pero primero verifíquelo dos veces.

  2. Debe usar async/await para esperar a que MongoDB devuelva el resultado a su aplicación Node:

 const result = await db.collection(objeto).find();

find() devuelve una promesa JS, no un valor directo inmediatamente. Para obtener más detalles sobre async/await, puede consultar:

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await

Si termina con un objeto Cursor pero no puede ver los valores, intente convertir el Cursor en una matriz usando toArray() :

Por ejemplo:

 const cursor = collection.find({}); const allValues = await cursor.toArray();

https://docs.mongodb.com/drivers/node/current/fundamentals/crud/read-operations/cursor/#return-an-array-of-all-documents

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error