MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB में विशिष्ट मान वापस करने के 3 तरीके

विशिष्ट मान वे मान हैं जिनमें अनावश्यक डुप्लिकेट हटा दिए गए हैं। दूसरे शब्दों में, विशिष्ट मूल्य अद्वितीय मूल्य हैं।

MongoDB में कुछ तरीके हैं जिनसे हम एक क्वेरी में अलग-अलग मान वापस कर सकते हैं। यह लेख मोंगो शेल में अलग-अलग मान वापस करने के 3 तरीके प्रस्तुत करता है।

नमूना डेटा

इस पृष्ठ पर उदाहरण निम्नलिखित संग्रह का उपयोग करते हैं जिन्हें pets कहा जाता है :

{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
{ "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
{ "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }

distinct() विधि

MongoDB में, db.collection.distinct() विधि एकल संग्रह या दृश्य में निर्दिष्ट फ़ील्ड के लिए अलग-अलग मान ढूंढती है और परिणामों को एक सरणी में लौटाती है।

उदाहरण:

db.pets.distinct( "type" )

परिणाम:

[ "Bat", "Cat", "Dog" ]

ये तीन मान type . के लिए अलग-अलग मान हैं उपरोक्त दस्तावेज़ों में फ़ील्ड।

pets भाग केवल उस संग्रह का नाम देता है जिसके लिए अलग-अलग मान वापस करना है।

db.collection.distinct() विधि distinct . के लिए एक शेल आवरण विधि है आदेश (नीचे)।

distinct कमांड

MongoDB में, distinct एग्रीगेशन कमांड एकल संग्रह में निर्दिष्ट फ़ील्ड के लिए अलग-अलग मान ढूंढता है।

यह एक दस्तावेज़ देता है जिसमें विशिष्ट मानों की एक सरणी होती है, साथ ही क्वेरी आंकड़ों और क्वेरी योजना के साथ एक एम्बेडेड दस्तावेज़ होता है।

db.runCommand ( { distinct: "pets", key: "type" } )

परिणाम:

{ "values" : [ "Bat", "Cat", "Dog" ], "ok" : 1 }

हम देख सकते हैं कि वही अलग-अलग मान लौटाए गए हैं, सिवाय इस समय के कि वे एक ऐसे दस्तावेज़ में हैं जिसमें अन्य जानकारी भी शामिल है।

$group एग्रीगेशन ऑपरेटर

अपनी आवश्यकताओं के आधार पर, आप $group . का भी उपयोग कर सकते हैं अलग-अलग मान लौटाने के लिए एग्रीगेशन ऑपरेटर.

उदाहरण:

db.pets.aggregate( [ { $group : { _id : "$type" } } ] )

परिणाम:

{ "_id" : "Cat" }
{ "_id" : "Bat" }
{ "_id" : "Dog" }

इस मामले में अलग-अलग दस्तावेज़ों में अलग-अलग मान लौटाए जाते हैं।

यदि आप अपने परिणामों के बड़े होने की अपेक्षा करते हैं तो यह दृष्टिकोण उपयोगी हो सकता है। यदि आपके परिणाम अधिकतम बीएसओएन आकार (लेखन के समय 16 मेगाबाइट) से बड़े हैं, तो आपको इस दृष्टिकोण का उपयोग करने की आवश्यकता हो सकती है।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी अपडेट ()

  2. लेखन त्रुटि:ObjectId('') JSON क्रमानुसार नहीं है

  3. MongoDB के साथ एक पसंद मतदान प्रणाली का मॉडल कैसे करें

  4. मोंगोडब $इन लिमिट

  5. MongoDB में एक संग्रह कॉपी/क्लोन करें