लिंक है एक या अधिक टैग है, तो पहली बार में यह टैग एम्बेड करने प्राकृतिक लग सकता है:आप MongoDB में इन प्रश्नों को कुशलता से कैसे कार्यान्वित करेंगे?
link = { title: 'How would you implement these queries efficiently in MongoDB?'
url: 'http://stackoverflow.com/questions/3720972'
tags: ['ruby', 'mongodb', 'database-schema', 'database-design', 'nosql']}
कैसे इन प्रश्नों कुशलता से लागू किया जाएगा?
- प्राप्त लिंक जो एक या अधिक दिए गए टैग
- (खोज बॉक्स स्वत: पूर्ण करने के लिए) बिना दोहराव के सभी टैग की एक सूची प्राप्त (दिए गए टैग के साथ लिंक खोज के लिए) होते हैं
- सबसे लोकप्रिय टैग प्राप्त करें , (शीर्ष 10 टैग या एक टैग बादल प्रदर्शित करने के लिए)
विचार कड़ी के रूप में ऊपर MongoNY presentation पर आधारित होती है करने के लिए स्लाइड 38.
एक टैग के लिए एक लोकप्रियता क्षेत्र को जोड़ने के लिए, टैग सही जोड़े जाने के लिए या स्थानांतरित एक अलग संग्रह में, की आवश्यकता होगी: यहाँ एक उदाहरण है? – randomguy
आपको यह नहीं करना है, आप इसे एक ही संग्रह में रख सकते हैं और टैग को इंगित करने के लिए बस एक dbref का उपयोग कर सकते हैं। एक अलग संग्रह आपके डेटा को प्रबंधित करने के लिए बस इतना आसान बना देगा (जो मैं अनुशंसा करता हूं)। – Asaf
टैग संग्रह में मैं एक अलग टैग फ़ील्ड का उपयोग करने के बजाय _id फ़ील्ड में टैग नाम डालने का सुझाव दूंगा। साथ ही, यदि आपको $ टैग का उपयोग करने के बजाय प्रति टैग एक अपडेट करने पर कोई फर्क नहीं पड़ता है, तो आप क्वेरी को केवल {_id: "tag_name"} बना सकते हैं और नई टैग प्रविष्टियां बनाने के लिए अपरर्ट सुविधा का उपयोग कर सकते हैं। – mstearn