[{
$group: {
_id: {
nombreProducto: '$nombreProducto'
},
count: {
$sum: 1
},
nombreProducto: {
$first: '$nombreProducto'
}
}
}, {
$sort: {
count: -1
}
}, {
$limit: 1
}]
db = db.getSiblingDB("prueba");
db.getCollection("productos").aggregate(
[
{
"$match" : {
"esAltoTransito" : {
"$eq" : true
}
}
},
{
"$count" : "esAltoTransito"
}
],
{
"allowDiskUse" : false
}
);
[{
$lookup: {
from: 'lotes',
localField: 'lotes',
foreignField: '_id',
as: 'lotes_lookup'
}
}, {
$addFields: {
lotes_lookup: {
$filter: {
input: '$lotes_lookup',
as: 'item',
cond: {
$gt: [
'$$item.cantidadDisponible',
0
]
}
}
}
}
}, {
$addFields: {
cantidadLotesConStock: {
$size: '$lotes_lookup'
}
}
}, {
$addFields: {
masDeCuatroLotesConStock: {
$gte: [
'$cantidadLotesConStock',
4
]
}
}
}, {
$match: {
masDeCuatroLotesConStock: true
}
}]