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

मोंगोडब में अपवोट/डाउनवोट संग्रहित करना

MongoDB दस्तावेज़ वर्तमान में अधिकतम 16MB तक सीमित हैं, इसलिए यह मानते हुए कि गिल्बर्ट की गणना सटीक है, आप सभी 6 मिलियन user_id स्टोर नहीं कर पाएंगे। Post में s दस्तावेज़।

हालांकि, आप वोटों को User . में संग्रहीत करने पर विचार कर सकते हैं इसके बजाय दस्तावेज़ (यानी post_id s जिसे विशेष उपयोगकर्ता ने वोट दिया था)। इस बात की बहुत कम संभावना है कि कोई उपयोगकर्ता 6 मिलियन अलग-अलग पोस्ट पर वोट करे, इसलिए इस तरह आप आकार सीमा तक जल्दी नहीं पहुंच पाएंगे।

इसे संभालने का दूसरा तरीका:यदि आप किसी विशेष पद के लिए कई वोटों की अपेक्षा करते हैं, तो आप Post के बाहर वोटों को संग्रहीत करना चाह सकते हैं। एक अलग संग्रह में दस्तावेज़ और SQL फ़ैशन में कई-से-अनेक जॉइन तालिका के समान एक अतिरिक्त क्वेरी करें:

user_votes { user_id: ObjectId(...), post_id: ObjectId(...), vote:-1 }

और (user_id, post_id) पर एक कंपाउंड इंडेक्स बनाएं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगो संग्रह में विशेष पात्रों के साथ काम करना

  2. MongoDB दस्तावेज़ों और संग्रहों को दृष्टिगत रूप से प्रबंधित करना

  3. नेवला :मॉडलों की एक सरणी पर लूप करके डेटा खोजें

  4. एक यूआरएल से d3.js सरणी प्राप्त करें

  5. क्या mongoDB ने मुद्दों को फिर से जोड़ा है या क्या मैं इसे गलत कर रहा हूं?