'MongoDB match computed value

I've created an aggregate query but for some reason it doesn't seem to work for custom fields created in the aggregation pipeline.

return this.repository.mongo().aggregate([
    {
        $match: { q1_avg: { $regex: baseQuery['value'], $options: 'i' } },  // NOT WORKING
    },
    {
        $group: {
            _id: '$product_sku',
            id: { $first: "$_id" },
            product_name: { $first: '$product_name' },
            product_category: { $first: '$product_category' },
            product_sku: { $first: '$product_sku' },
            q1_cnt: { $sum: 1 },
            q1_votes: { $push: "$final_rating" }
        },
    },
    {
        $facet: {
            pagination: [ { $count: 'total' } ],
            data: [
                {
                    $project: {
                        _id: 1,
                        id: 1,
                        product_name: 1,
                        product_category: 1,
                        product_sku: 1,
                        q1_cnt: 1,
                        q1_votes: {
                            $filter: {
                                input: '$q1_votes',
                                as: 'item',
                                cond: { $ne: ['$$item', null] }
                            }
                        },
                    },
                },
                {
                    $set: {
                        q1_avg: { $round: [ { $avg: '$q1_votes' }, 2 ] },
                    }
                },
                { $unset: ['q1_votes'] },
                { $skip: skip },
                { $limit: limit },
                { $sort: sortList }
            ]
        }
    },
    { $unwind : "$pagination" },
]).next(); 

q1_avg value is an integer and as far as I know, regex only works with strings. Could that be the reason



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source