सबसे पहले, MongoDB में आपका स्वागत है!
याद रखने वाली बात यह है कि MongoDB डेटा संग्रहण के लिए "NoSQL" दृष्टिकोण को नियोजित करता है, इसलिए आपके दिमाग से चयन, जुड़ने आदि के विचार नष्ट हो जाते हैं। जिस तरह से यह आपके डेटा को संग्रहीत करता है वह दस्तावेज़ों और संग्रहों के रूप में होता है, जो आपके संग्रहण स्थानों से डेटा जोड़ने और प्राप्त करने के एक गतिशील माध्यम की अनुमति देता है।
कहा जा रहा है, $unwind पैरामीटर के पीछे की अवधारणा को समझने के लिए, आपको सबसे पहले यह समझना होगा कि आप जिस उपयोग के मामले को उद्धृत करने का प्रयास कर रहे हैं वह क्या कह रहा है। mongodb.org से उदाहरण दस्तावेज़ इस प्रकार है:
{
title : "this is my title" ,
author : "bob" ,
posted : new Date () ,
pageViews : 5 ,
tags : [ "fun" , "good" , "fun" ] ,
comments : [
{ author :"joe" , text : "this is cool" } ,
{ author :"sam" , text : "this is bad" }
],
other : { foo : 5 }
}
ध्यान दें कि कैसे टैग वास्तव में 3 वस्तुओं की एक सरणी है, इस मामले में "मज़ेदार", "अच्छा" और "मज़ा"।
$अनविंड क्या करता है जो आपको प्रत्येक तत्व के लिए एक दस्तावेज़ को छीलने की अनुमति देता है और उस परिणामी दस्तावेज़ को लौटाता है। इसे शास्त्रीय दृष्टिकोण में सोचने के लिए, यह "टैग सरणी में प्रत्येक आइटम के लिए, केवल एक दस्तावेज़ को वापस करने के बराबर होगा वह वस्तु"।
इस प्रकार, निम्नलिखित को चलाने का परिणाम:
db.article.aggregate(
{ $project : {
author : 1 ,
title : 1 ,
tags : 1
}},
{ $unwind : "$tags" }
);
निम्नलिखित दस्तावेज़ लौटाएगा:
{
"result" : [
{
"_id" : ObjectId("4e6e4ef557b77501a49233f6"),
"title" : "this is my title",
"author" : "bob",
"tags" : "fun"
},
{
"_id" : ObjectId("4e6e4ef557b77501a49233f6"),
"title" : "this is my title",
"author" : "bob",
"tags" : "good"
},
{
"_id" : ObjectId("4e6e4ef557b77501a49233f6"),
"title" : "this is my title",
"author" : "bob",
"tags" : "fun"
}
],
"OK" : 1
}
ध्यान दें कि परिणाम सरणी में केवल एक चीज बदल रही है जो टैग मान में वापस की जा रही है। यदि आपको इस बारे में अतिरिक्त संदर्भ की आवश्यकता है कि यह कैसे काम करता है, तो मैंने यहां एक लिंक शामिल किया है। उम्मीद है कि यह मदद करता है, और अब तक के सबसे अच्छे नोएसक्यूएल सिस्टमों में से एक में आपके प्रवेश के साथ शुभकामनाएँ।