如何在MongoDB中的聚合内部使用外部函数

时间:2019-10-06 10:33:47

标签: node.js mongodb express mongoose aggregation

我想避免在聚合后使用Array.map()使用Mongoose框架将缓冲区映像更改为存储在MongoDB中的base64

我有一组产品,每个产品都有图像缓冲区,并使用聚合进行一些计算并更好地格式化输出。

const aggregation = Cart.aggregate([{
        $match: {
            user: user._id,
            ordered: false
        }
    },
    {
        $lookup: {
            from: 'products',
            localField: 'product',
            foreignField: '_id',
            as: 'product',
        },
    },

    {
        $unwind: {
            path: '$product',
            preserveNullAndEmptyArrays: true,
        },
    },
    $project: {
        image: Buffer.from('$product.picture').toString('base64'),
    }
]);

在此之后,我期望输出将picture属性作为base64缓冲区的字符串,以便可以在img标签中使用它

0 个答案:

没有答案