mongodb aggregate one code example
Example 1: mongodb aggregate lookup array of objects
db.getCollection('widgets').aggregate([
{ $unwind: '$info' },
{
$lookup: {
from: 'icons',
localField: 'info.iconId',
foreignField: '_id',
as: 'info.icon'
}
},
{ $unwind: '$info.icon' },
{
$group: {
_id: '$_id',
root: { $mergeObjects: '$$ROOT' },
info: { $push: '$info' }
}
},
{
$replaceRoot: {
newRoot: {
$mergeObjects: ['$root', '$$ROOT']
}
}
},
{
$project: {
root: 0
}
}
]);
Example 2: how to use mongoose aggregate
new Aggregate([{ $match: { _id: '00000000000000000000000a' } }]);
new Aggregate([{ $match: { _id: mongoose.Types.ObjectId('00000000000000000000000a') } }]);