Получавате тази грешка, защото методът find() е асинхронен, затова обещанието чака:то все още се извлича.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Забележете, че имате вашите данни в обратно извикване. За повече информация относно обещанията проверете Promise
В зависимост от версията на вашия възел (7.6+ предполагам), можете да използвате нещо подобно
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Така че вашият код изглежда като синхронен код. Ключът тук е командата async/await, която чака резултатите от обещанието.
Надявам се да помогне!