सुनिश्चित नहीं है कि आप अंतिम परिणाम के साथ क्या करना चाहते हैं क्योंकि कुंजी और मान समान हैं। फिर भी, आप एकत्रीकरण ढांचे का उपयोग कर सकते हैं जहां आप $unwind
ऑपरेटर जो इसे समतल करता है यानी यह प्रत्येक दस्तावेज़ की प्रति सरणी प्रविष्टि की एक प्रति तैयार करता है।
मान सरणी को समतल करने के बाद, आप $group
मूल्यों पर संचय ऑपरेटरों उन्हें एकत्र करने के लिए। $project
ऑपरेटर पिछले समूह से फ़ील्ड को वांछित प्रारूप में आकार देगा।
अवधारणा प्राप्त करने के लिए इस उदाहरण का अनुसरण करें:
templateAttributes.aggregate([
{ "$match": { "platform": "V1" } },
{ "$unwind": "$available.Community.attributes.type.values" },
{
"$group": {
"_id": "$available.Community.attributes.type.values",
"value": { "$first": "$available.Community.attributes.type.values" }
}
},
{
"$project": {
"_id": 0,
"label": "$_id",
"value": 1
}
}
])
चूंकि आप उल्का का उपयोग कर रहे हैं, उल्का meteorhacks:aggregate
जोड़ें
उल्का के लिए उचित एकत्रीकरण समर्थन जोड़ देगा ताकि आप उपरोक्त एकत्रीकरण पाइपलाइन को अपने संग्रह पर चला सकें।