Estás recibiendo este error porque el método find() es asíncrono, por eso la promesa está pendiente:todavía se está recuperando.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Observe que tiene sus datos dentro de una devolución de llamada. Para obtener más información sobre las promesas, consulte Promise
Dependiendo de la versión de su nodo (creo que 7.6+), puede usar algo como esto
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Entonces su código parece un código síncrono. La clave aquí es el comando async/await que espera los resultados de la promesa.
¡Espero que ayude!