MongoDB में $unwind ऑपरेटर ऐरे फील्ड को डी-कंस्ट्रक्ट करता है और ऐरे के प्रत्येक एलिमेंट के लिए एक अलग डॉक्यूमेंट आउटपुट करता है। अन्य फील्ड प्रत्येक आउटपुट डॉक्यूमेंट में कॉपी हो जाते हैं।
उदाहरण से समझें
एक कलेक्शन बनाकर ऐरे वाला डॉक्यूमेंट इन्सर्ट करते हैं:
> db.unwindOperatorDemo.insertOne({"StudentName": "Larry", "StudentAge": 23, "StudentSubject": ["C", "C++", "Java", "MongoDB"]});
डॉक्यूमेंट देखने के लिए:
> db.unwindOperatorDemo.find().pretty();
आउटपुट:
अब
$unwindका उपयोग करें:> db.unwindOperatorDemo.aggregate([ {$project: {StudentName: 1, StudentAge: 1, StudentSubject: 1}}, {$unwind: "$StudentSubject"} ]).pretty();आउटपुट:
प्रत्येक ऐरे एलिमेंट के लिए एक अलग डॉक्यूमेंट बना, जिसमें
StudentNameऔरStudentAgeकॉपी हो गए।विकल्प:
preserveNullAndEmptyArrays: trueसे खाली ऐरे वाले डॉक्यूमेंट भी आउटपुट में रहते हैं।