diff --git a/website/server/libs/challenges/index.js b/website/server/libs/challenges/index.js index d6fdedfb60..bf07874b27 100644 --- a/website/server/libs/challenges/index.js +++ b/website/server/libs/challenges/index.js @@ -117,20 +117,26 @@ export function createChallengeQuery (query) { .match(query) .addFields({ isOfficial: { - $gt: [ - { - $size: { - $filter: { - input: '$categories', - as: 'cat', - cond: { - $eq: ['$$cat.slug', 'habitica_official'], + $cond: { + if: { $isArray: '$categories' }, + then: { + $gt: [ + { + $size: { + $filter: { + input: '$categories', + as: 'cat', + cond: { + $eq: ['$$cat.slug', 'habitica_official'], + }, + }, }, }, - }, + 0, + ], }, - 0, - ], + else: false, + }, }, }) .sort('-isOfficial -createdAt');