Du kan tilføje $cond
operatør til at tage højde for huller efterfulgt af $filter
for at filtrere de tomme matrixværdier.
Du kræver to ændringer.
Den første ændring for at gemme []-værdier for huller i stedet for array med null-værdier.
Opdater indre $let-udtryk til nedenfor:
{
"$let":{
"vars":{"five":...},
"in":{
"$cond":[
{"$eq":["$$five",[]]},
"$$five",
[{"$arrayElemAt":[{"$arrayElemAt":["$$five",-1]},0]},
....
{"$arrayElemAt":[{"$arrayElemAt":["$$five",-1]},-1]}]
]
}
}
}
Den anden ændring for at filtrere de tomme matrixværdier fra outputtet.
{
"$project":{
"data":{
"$let":{
"vars":{"mints":...},
"in":{"$filter":{"input":{"$map":...},as:"flr", "cond":{"$ne":["$$flr",[]]}}}
}
}
}
}