Vous obtenez cette erreur car la méthode find() est asynchrone, c'est pourquoi la promesse est en attente :elle est toujours en cours de récupération.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Notez que vous avez vos données à l'intérieur d'un rappel. Pour plus d'informations sur les promesses, consultez Promise
Selon la version de votre nœud (7.6+ je crois), vous pouvez utiliser quelque chose comme ça
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Ainsi, votre code ressemble à un code synchrone. La clé ici est la commande async/wait qui attend les résultats de la promesse.
J'espère que cela vous aidera !