this mongoose aggregate query works with a callback in a different project I was working on earlier. For some reason in this form it does not work with the exec.
try {
console.log(rank)
challengeList = await Member.aggregate([
{$match:{$and:[{MemberRank:{"$lt": rank}},{MemberIsActive: "Y"}]}},
{$project: {MemberName:1, MemberFDR:1, MemberRank:1}},
{$sort:{MemberRank:-1}},
{$limit: 20}
]).exec()
} catch (err) {
const error = new HttpError(
'Something went wrong, could not update member.',
500
);
return next(error);
}
Earlier Project where the query worked
GSM.findOne({Player_Name: req.user.Player_Name}, function(err,data2){
if(err){
console.log(err)
} else {
GSM.aggregate([
{$match:{$and:[{Rank:{"$lt": data2.Rank}},{Player_ActivePlayer: "Y"}]}},
{$project: {Player_Name:1, Player_FDR:1, Rank:1}},
{$sort:{Rank:-1}},
{$limit: 20}
]).exec(function(err,data){
if(err){
console.log(err);
}
data provides me the list as expected
I am expecting challengeList to return my list that I need through my query. What am I missing? Can someone explain?