Ricevi questo errore perché il metodo find() è asincrono, ecco perché la promessa è in sospeso:sta ancora recuperando.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Nota che hai i tuoi dati all'interno di una richiamata. Per ulteriori informazioni sulle promesse, controlla Promise
A seconda della versione del tuo nodo (credo 7.6+), puoi usare qualcosa del genere
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Quindi il tuo codice sembra un codice sincrono. La chiave qui è il comando async/await che attende i risultati della promessa.
Spero che ti aiuti!