You can join a collection onto itself, something like this:
var insertData = [];
for (var x=0; x<100;x++ ){
var palletNumber = 'P' + Math.floor(Math.random() * 10000);
for (var y=0;y<1000 ; y++ ){
insertData.push({
PalletNumber: palletNumber,
SerialNumber: y
})
}
}
db.getCollection("Demo").insertMany(insertData)
db.getCollection("Demo").aggregate([
{
$match:{
'PalletNumber':{$in:['P3072']}
}
},
{
$group:{
_id:'$PalletNumber'
}
},
{
$lookup:{
from:'Demo',
let:{
pallet_palletID:'$_id'
},
pipeline:[
{
$match:{
$expr:{
$eq:[
'$$pallet_palletID',
'$PalletNumber'
]
}
}
},
{
$limit:50
}
],
as:'lookuips'
}
}
])
2 Likes