Tato chyba se vám zobrazuje, protože metoda find() je asynchronní, proto příslib čeká na vyřízení:stále se načítá.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Všimněte si, že máte svá data uvnitř zpětného volání. Další informace o slibech najdete na stránce Promise
V závislosti na verzi vašeho uzlu (myslím, že 7.6+) můžete použít něco takového
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Takže váš kód vypadá jako synchronní kód. Klíčem je zde příkaz async/await, který čeká na výsledky slibu.
Doufám, že to pomůže!