Bạn gặp lỗi này vì phương thức find () không đồng bộ, đó là lý do tại sao lời hứa đang chờ xử lý:nó vẫn đang tìm nạp.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Lưu ý rằng bạn có dữ liệu của mình bên trong một lệnh gọi lại. Để biết thêm thông tin về lời hứa, hãy kiểm tra Lời hứa
Tùy thuộc vào phiên bản nút của bạn (tôi tin là 7.6+), bạn có thể sử dụng thứ gì đó như thế này
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Vì vậy, mã của bạn trông giống như một mã đồng bộ. Chìa khóa ở đây là lệnh async / await đợi kết quả hứa hẹn.
Hy vọng nó sẽ hữu ích!