अनविंड में चरण, फ़ील्ड एक सरणी फ़ील्ड होना चाहिए। यदि सरणी फ़ील्ड नहीं है, तो यह इसे 1 तत्व की सरणी के रूप में मानता है।
दस्तावेज़ों से:
संस्करण 3.2 में बदला गया:$अनविंड चरण अब गैर-सरणी ऑपरेंड पर त्रुटियाँ नहीं है। यदि ऑपरेंड किसी सरणी का समाधान नहीं करता है, लेकिन अनुपलब्ध, अशक्त या खाली सरणी नहीं है, तो $unwind ऑपरेंड को एकल तत्व सरणी के रूप में मानता है।
आपके प्रश्न का उत्तर:
db.response.aggregate([
{
$project:
{
"job_details.label_name":1,
_id:0
}
},
{
$unwind:"$job_details.label_name"
},
{
$group:
{
_id:"$job_details.label_name",
count:{$sum:1}
}
}
])
शेल देखें आउटपुट