Você está recebendo este erro porque o método find() é assíncrono, é por isso que a promessa está pendente:ela ainda está sendo buscada.
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 você tem seus dados dentro de um callback. Para obter mais informações sobre promessas, consulte Promise
Dependendo da versão do seu nó (7.6+, acredito), você pode usar algo assim
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Portanto, seu código parece um código síncrono. A chave aqui é o comando async/await que aguarda os resultados da promessa.
Espero que ajude!