MongoDB 3.2 संस्करण और नए के साथ, $unwind
ऑपरेटर के पास अब कुछ विकल्प हैं जहां विशेष रूप से preserveNullAndEmptyArrays
विकल्प इसका समाधान करेगा।
यदि यह विकल्प सत्य पर सेट है और यदि पथ रिक्त है, अनुपलब्ध है, या एक खाली सरणी है, तो $unwind
दस्तावेज़ को आउटपुट करता है। अगर गलत है, तो $unwind
यदि पथ शून्य, अनुपलब्ध या रिक्त सरणी है, तो दस्तावेज़ को आउटपुट नहीं करता है। आपके मामले में, इसे सही पर सेट करें:
db.collection.aggregate([
{ "$unwind": {
"path": "$solved",
"preserveNullAndEmptyArrays": true
} },
{ "$group": {
"_id": "$_id",
"login": { "$first": "$login" },
"solved": { "$sum": "$solved.points" }
} }
])