Dengan versi MongoDB 3.2 dan yang lebih baru, $unwind
operator sekarang memiliki beberapa opsi di mana khususnya preserveNullAndEmptyArrays
opsi akan menyelesaikan ini.
Jika opsi ini disetel ke true dan jika jalurnya nol, tidak ada, atau larik kosong, $unwind
mengeluarkan dokumen. Jika salah, $unwind
tidak menampilkan dokumen jika jalurnya nol, tidak ada, atau larik kosong. Dalam kasus Anda, setel ke true:
db.collection.aggregate([
{ "$unwind": {
"path": "$solved",
"preserveNullAndEmptyArrays": true
} },
{ "$group": {
"_id": "$_id",
"login": { "$first": "$login" },
"solved": { "$sum": "$solved.points" }
} }
])