find()メソッドが非同期であるため、このエラーが発生します。そのため、Promiseは保留中です。まだフェッチ中です。
db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray().then((data) => {
// Here you can do something with your data
doSomethingWithTheResult(result)
})
コールバック内にデータがあることに注意してください。約束の詳細については、約束 を確認してください。
ノードのバージョン(7.6以上だと思います)に応じて、次のようなものを使用できます
async function getResults() {
return db.collection('diseases').find({
'ttl.txt': {
$regex: data,
$options: 'i'
}
}).toArray();
}
const results = await getResults();
したがって、コードは同期コードのように見えます。ここで重要なのは、promiseの結果を待つasync/awaitコマンドです。
お役に立てば幸いです。