En su código, no espera el find()
para completar su ejecución y continúa con client.close()
declaración. Entonces, cuando intenta leer datos de la base de datos, la conexión ya ha finalizado. Enfrenté este mismo problema y lo resolví así:
// connect to your cluster
const client = await MongoClient.connect('yourMongoURL', {
useNewUrlParser: true,
useUnifiedTopology: true,
});
// specify the DB's name
const db = client.db('nameOfYourDB');
// execute find query
const items = await db.collection('items').find({}).toArray();
console.log(items);
// close connection
client.close();
EDITAR:todo esto debería estar en un async
función.