Как использовать внешнюю функцию внутри агрегации в MongoDB - PullRequest
0 голосов
/ 06 октября 2019

Я хочу избегать использования Array.map () после агрегации для изменения изображения буфера в base64, хранящегося в MongoDB с использованием среды Mongoose

У меня есть коллекции продуктов, каждый из которых имеет буфер изображения и использует агрегацию для выполнения некоторых вычисленийи лучше отформатировать вывод.

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

...