Anda mendapatkan kesalahan ini karena metode find() tidak sinkron, itulah sebabnya janjinya tertunda:masih diambil.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Perhatikan bahwa Anda memiliki data Anda di dalam panggilan balik. Untuk info lebih lanjut tentang janji, periksa Janji
Bergantung pada versi simpul Anda (7.6+ saya percaya), Anda dapat menggunakan sesuatu seperti ini
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Jadi kode Anda dengan terlihat seperti kode sinkron. Kuncinya di sini adalah perintah async/await yang menunggu hasil janji.
Semoga membantu!