diff --git a/src/controllers/challenges.js b/src/controllers/challenges.js index dde8011a47..5b9efaf2be 100644 --- a/src/controllers/challenges.js +++ b/src/controllers/challenges.js @@ -71,13 +71,14 @@ api.list = function(req, res) { {group: 'habitrpg'} ] }) - .select('name description memberCount group members') + .select('name description group members') .populate('group', '_id name') .exec(function(err, challenges){ if (err) return res.json(500,{err:err}); _.each(challenges, function(c){ c._isMember = !!~c.members.indexOf(user._id); - c.members = []; + c.memberCount = _.size(c.members); + c.members = undefined; }) res.json(challenges); }); diff --git a/src/models/challenge.js b/src/models/challenge.js index 3ce8b950ed..2ba42aec28 100644 --- a/src/models/challenge.js +++ b/src/models/challenge.js @@ -35,7 +35,7 @@ ChallengeSchema.pre('save', function(next){ ChallengeSchema.methods.toJSON = function(){ var doc = this.toObject(); - doc.memberCount = _.size(doc.members); // @see pre('save') comment above + doc.memberCount = doc.members ? _.size(doc.members) : doc.memberCount; // @see pre('save') comment above doc._isMember = this._isMember; return doc; }