我有一个名为 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 集合中获取数据,它将 100 条记录返回到奖励数组。在等待所有结果之后,我想将检索到的数组(rewards)一个一个地遍历,并从另一个名为Callback的集合中获取数据。这些数据将被一个一个地推送到另一个名为 results 的数组中。(我为此使用了 map 函数)在等待所有 100 条记录到 results 数组之后,我想将其作为响应发送。但不幸的是,我的代码不等待地图功能。它以空数组(结果)的形式发送响应。然后运行地图并将元素推送到结果数组。请仅使用 async/await 帮助我解决此问题。如果不可能,请给我最好的解决方案。