Du får denne fejl, fordi find()-metoden er asynkron, det er derfor, løftet afventer:det henter stadig.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Bemærk, at du har dine data inde i et tilbagekald. For mere info om løfter se Løfte
Afhængigt af din nodeversion (7.6+ tror jeg), kan du bruge noget som dette
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Så din kode med ligner en synkron kode. Nøglen her er async/await-kommandoen, der venter på løfteresultaterne.
Håber det hjælper!