MongoDB 3.2バージョン以降では、 $unwind
オペレーターには、特にpreserveNullAndEmptyArrays
のオプションがいくつかあります。 オプションでこれを解決します。
このオプションがtrueに設定されていて、パスがnull、欠落、または空の配列である場合、 $unwind
ドキュメントを出力します。 falseの場合、 $unwind
パスがnull、欠落、または空の配列の場合、ドキュメントを出力しません。あなたの場合、それをtrueに設定します:
db.collection.aggregate([
{ "$unwind": {
"path": "$solved",
"preserveNullAndEmptyArrays": true
} },
{ "$group": {
"_id": "$_id",
"login": { "$first": "$login" },
"solved": { "$sum": "$solved.points" }
} }
])