Puoi aggiungere $cond
operatore per tenere conto delle lacune seguite da $filter
per filtrare i valori dell'array vuoti.
Sono necessarie due modifiche.
La prima modifica per memorizzare [] valori per spazi vuoti invece di array con valori nulli.
Aggiorna l'espressione interna $let al di sotto:
{
"$let":{
"vars":{"five":...},
"in":{
"$cond":[
{"$eq":["$$five",[]]},
"$$five",
[{"$arrayElemAt":[{"$arrayElemAt":["$$five",-1]},0]},
....
{"$arrayElemAt":[{"$arrayElemAt":["$$five",-1]},-1]}]
]
}
}
}
La seconda modifica per filtrare i valori dell'array vuoti dall'output.
{
"$project":{
"data":{
"$let":{
"vars":{"mints":...},
"in":{"$filter":{"input":{"$map":...},as:"flr", "cond":{"$ne":["$$flr",[]]}}}
}
}
}
}