Với phiên bản MongoDB 3.2 và mới hơn, $unwind toán tử hiện có một số tùy chọn, trong đó cụ thể là preserveNullAndEmptyArrays tùy chọn sẽ giải quyết vấn đề này.
Nếu tùy chọn này được đặt thành true và nếu đường dẫn là rỗng, bị thiếu hoặc là một mảng trống, hãy $unwind xuất ra tài liệu. Nếu sai, $unwind không xuất ra tài liệu nếu đường dẫn rỗng, thiếu hoặc một mảng trống. Trong trường hợp của bạn, hãy đặt nó thành true:
db.collection.aggregate([
{ "$unwind": {
"path": "$solved",
"preserveNullAndEmptyArrays": true
} },
{ "$group": {
"_id": "$_id",
"login": { "$first": "$login" },
"solved": { "$sum": "$solved.points" }
} }
])