Rediger dit project fase i pipelinen som nedenfor:
projection stage gør følgende to ting:
- Hvis elementer-arrayet er
nullellerdoes not exist, beregner elementets feltværdi som[](en tom matrix.) - Næste kontrollerer, om
sizeaf de netop beregnedeitemsfeltet er0, iffit er0, og ændrer derefter dens værdi til et array med standardobjekt.
Fasekode:
db.MyCollection.aggregate([
...
{$project:{"_id":"$$ROOT",
"items":{$cond:[
{$eq:[{$size:{$ifNull:["$items",[]]}},0]},
[{"quantity":0,"price":0}],
"$items"
]}}},
{$unwind:"$items"},
...
])