Revert "fix(challenge export): do not fetch users and tasks concurrently"

This reverts commit 4d88787ba0.
This commit is contained in:
Matteo Pagliazzi
2019-11-02 14:24:14 +01:00
parent da4dd07de1
commit 9988b1e82d

View File

@@ -591,22 +591,21 @@ api.exportChallengeCsv = {
// computation on MongoDB but then iterated through all
// results on the server so the perf difference isn't that big (hopefully)
const members = await User
.find({ challenges: challengeId })
.select(nameFields)
.sort({ _id: 1 })
.lean() // so we don't involve mongoose
.exec();
const [members, tasks] = await Promise.all([
User.find({ challenges: challengeId })
.select(nameFields)
.sort({ _id: 1 })
.lean() // so we don't involve mongoose
.exec(),
const tasks = Tasks.Task
.find({
Tasks.Task.find({
'challenge.id': challengeId,
userId: { $exists: true },
})
.sort({ userId: 1, text: 1 })
.select('userId type text value notes streak')
.lean() // so we don't involve mongoose
.exec();
}).sort({ userId: 1, text: 1 })
.select('userId type text value notes streak')
.lean()
.exec(),
]);
let resArray = members
.map(member => [member._id, member.profile.name, member.auth.local.username]);