アクティブなユーザーを見つけるのに役立つ getActiveUsers という名前の関数があります
const getActiveUsers = async (req, res) => {
let results = [];
const rewards = await Reward.find().distinct('data');
await rewards.map(async (reward) => {
const result = await Callback.findOne({
data: reward,
});
results.push(result);
});
return res
.status(400)
.json({ success: true, count: results.length, data: results })};
まず、reward コレクションからデータを取得します。これにより、rewards 配列に 100 レコードが返されます。すべての結果を待った後、取得した配列 (報酬) を 1 つずつ調べて、Callback という別のコレクションからデータを取得します。そして、このデータはresultsという別の配列に1つずつプッシュされます。残念ながら、私のコードは map 関数を待ちません。応答を空の配列 (results) として送信します。その後、マップを実行し、要素を結果配列にプッシュします。async/await のみを使用して、これを修正してください。それが不可能な場合は、最善の解決策を教えてください。