के बारे में सलाह चाहिए हाल ही में मैं NoSQL डेटाबेस की खोज कर रहा हूं। मुझे किसी दिए गए समस्या के लिए सबसे इष्टतम और कुशल तरीके से डेटा को स्टोर करने के बारे में सलाह चाहिए। मैं अब मोंगो डीबी को लक्षित कर रहा हूं। हालांकि यह कॉच डीबी के साथ समान होना चाहिए।मुझे NoSQL/MongoDb और डेटा/मॉडल संरचना
मान लें कि हम इन 3 मॉडल है:
Story:
id
title
User:
id
name
Vote:
id
story_id
user_id
मैं डेटाबेस इन सवाल पूछने के लिए सक्षम होना चाहते हैं:
- कौन इस कहानी के लिए मतदान किया गया है?
- इस उपयोगकर्ता ने क्या वोट दिया है?
मैं एक संबंधपरक डीबी के साथ काम करते समय सरल जुड़ रहा हूं। सवाल यह है कि, मैं उन वस्तुओं के लिए डेटा को सबसे कुशल होने के लिए कैसे स्टोर कर सकता हूं।
उदाहरण के लिए, यदि मैं वोट ऑब्जेक्ट्स को कहानियों के उप-संग्रह के रूप में संग्रहीत करता हूं तो यह जानकारी प्राप्त करना आसान नहीं होगा - "उपयोगकर्ता ने क्या वोट दिया है"।
अच्छा, वास्तव में मैं एक वोट मॉडल में अधिक जानकारी स्टोर करना चाहता हूं। उदाहरण के लिए: बनाया_at, ip, user_agent। क्या मुझे डेटा संग्रह की कहानियों की सूची में डेटा स्टोर करना चाहिए? –
आप वोटों को उप-दस्तावेजों की एक सरणी के रूप में स्टोर कर सकते हैं, प्रत्येक '{story_id: ..., created_at: ..., ip: ...}', आदि। फिर क्वेरी 'ढूंढें ({' कहानियां .story_id ': ...}) '। आप उस पर भी इंडेक्स कर सकते हैं। – mdirolf
वैसे मेरे पास कुछ एम रिकॉर्ड के साथ काफी बड़ा डेटाबेस है और उपर्युक्त परिदृश्य का परीक्षण करेगा। –