
Juan Camilo Noreña López
PreguntaTengo un error el console.log me retorna esto: “Promise { <pending> }” y no el array de tareas como en la clase. Que debo hacer ?

Juan Camilo Noreña López
Este es mi código de conexión:
const uri = 'mongodb://root:root@localhost:27017/?authMechanism=DEFAULT'; const client = new MongoClient(uri); async function run() { await client.connect(); const database = client.db('NestJsPlatzi'); const taskCollection = await database.collection('tasks'); const tasks = taskCollection.find().toArray(); console.log(tasks); } run();
Le pregunte a chat GPT porque fallaba y esto fue lo que me respondió:
El método find() devuelve un cursor, no los documentos en sí. Para obtener los documentos, necesita llamar a un método como toArray() en el cursor, que devuelve una promesa que se resuelve con la matriz de documentos.
Puede utilizar la palabra clave await para esperar a que se resuelva la promesa, o usar el método then() para especificar una función de devolución de llamada que se llamará con el valor resuelto.
Por ejemplo:
Copy code const tareas = await taskCollection.find().toArray(); console.log(tareas); o
Copy code taskCollection.find().toArray().then((tareas) => { console.log(tareas); });
Aunque antes de esto me dijo que el código estaba bien, le dije que me daba un error y así lo resolvió, al final si funciono.