U krijgt deze foutmelding omdat de methode find() asynchroon is, daarom is de belofte in behandeling:deze wordt nog steeds opgehaald.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Merk op dat u uw gegevens in een callback hebt. Voor meer info over beloften check Belofte
Afhankelijk van je node-versie (7.6+ geloof ik), kun je zoiets als dit gebruiken
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Dus je code ziet eruit als een synchrone code. De sleutel hier is het async/wait-commando dat wacht op de resultaten van de belofte.
Ik hoop dat het helpt!