diff --git a/packages/strapi-connector-mongoose/lib/buildQuery.js b/packages/strapi-connector-mongoose/lib/buildQuery.js index 98c8d9d250..a7175f5e90 100644 --- a/packages/strapi-connector-mongoose/lib/buildQuery.js +++ b/packages/strapi-connector-mongoose/lib/buildQuery.js @@ -412,7 +412,7 @@ const buildLookupMatch = ({ assoc, assocModel, filters = {} }) => { $match: { $and: defaultMatches.concat({ $expr: { - $in: ['$_id', '$$localAlias'], + $in: ['$_id', { $ifNull: ['$$localAlias', []] }], }, }), }, @@ -424,7 +424,7 @@ const buildLookupMatch = ({ assoc, assocModel, filters = {} }) => { $match: { $and: defaultMatches.concat({ $expr: { - $in: ['$_id', '$$localAlias'], + $in: ['$_id', { $ifNull: ['$$localAlias', []] }], }, }), }, @@ -435,7 +435,7 @@ const buildLookupMatch = ({ assoc, assocModel, filters = {} }) => { $match: { $and: defaultMatches.concat({ $expr: { - $in: ['$$localId', `$${assoc.via}`], + $in: ['$$localId', { $ifNull: [`$${assoc.via}`, []] }], }, }), }, diff --git a/packages/strapi-connector-mongoose/lib/queries.js b/packages/strapi-connector-mongoose/lib/queries.js index 8cf6bea8ba..04ddd097d5 100644 --- a/packages/strapi-connector-mongoose/lib/queries.js +++ b/packages/strapi-connector-mongoose/lib/queries.js @@ -550,7 +550,11 @@ module.exports = ({ model, strapi }) => { return model .aggregate() .match({ [model.primaryKey]: { $in: entitiesIds.map(mongoose.Types.ObjectId) } }) - .project({ _id: 0, id: '$_id', count: { $size: `$${assoc.alias}` } }); + .project({ + _id: 0, + id: '$_id', + count: { $size: { $ifNull: [`$${assoc.alias}`, []] } }, + }); } const assocModel = strapi.db.getModelByAssoc(assoc); return assocModel