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

टैग खोज के लिए डेटास्टोर समाधान

यदि आप अपनी वस्तुओं को इस तरह संग्रहीत करते हैं, तो Mongodb आप जो चाहते हैं उसे संभाल सकता है

{ score:2131, attributes: ["attr1", "attr2", "attr3"], ... }

फिर निम्न क्वेरी उन सभी आइटम्स से मेल खाएगी जिनमें att1 और attr2 हैं

c = db.mycol.find({ attributes: { $all: [ "attr1", "attr2" ] } })

लेकिन यह इससे मेल नहीं खाएगा

c = db.mycol.find({ attributes: { $all: [ "attr1", "attr4" ] } })

क्वेरी एक कर्सर लौटाती है, यदि आप चाहते हैं कि यह कर्सर सॉर्ट किया जाए, तो बस सॉर्ट पैरामीटर को क्वेरी में जोड़ें जैसे

c = db.mycol.find({ attributes: { $all: [ "attr1", "attr2" ] }}).sort({score:1})

उन्नत क्वेरी पर एक नज़र डालें यह देखने के लिए कि क्या संभव है।

उपयुक्त इंडेक्स निम्नानुसार सेट किए जा सकते हैं

db.mycol.ensureIndex({attributes:1, score:1})

और आप

. का उपयोग करके प्रदर्शन जानकारी प्राप्त कर सकते हैं
db.mycol.find({ attributes: { $all: [ "attr1" ] }}).explain()

मोंगो बताते हैं कि कितनी वस्तुओं को स्कैन किया गया, ऑपरेशन में कितना समय लगा और कई अन्य आंकड़े।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगो डीबी के कैप्ड संग्रह में हटाए गए दस्तावेज़ों को ट्रैक करें

  2. मैं मोंगोडीबी को सोलर के साथ कैसे एकीकृत करूं?

  3. नेवला एकत्रीकरण क्वेरी एक से अधिक रिकॉर्ड लौटाती है जब उसे केवल एक ही वापस करना चाहिए

  4. एकाधिक csv फ़ाइलों के लिए Mongoexport

  5. क्या MongoDB MapReduce डेटाबेस को लॉक करता है