Sie erhalten diesen Fehler, weil die find()-Methode asynchron ist, deshalb steht das Promise noch aus:Es wird immer noch abgerufen.
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
Beachten Sie, dass Sie Ihre Daten in einem Callback haben. Weitere Informationen zu Versprechungen finden Sie unter Versprechen
Abhängig von Ihrer Node-Version (ich glaube 7.6+) können Sie so etwas verwenden
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
Ihr Code sieht also wie ein synchroner Code aus. Der Schlüssel hier ist der async/await-Befehl, der auf die Promise-Ergebnisse wartet.
Hoffe es hilft!