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

MongoDb . में दोस्तों के दोस्तों को खोजने के लिए ग्राफ डेटाबेस के रूप में उपयोग करना

हालांकि यह असंभव नहीं होगा, MongoDB इस परिदृश्य के लिए उपयुक्त नहीं होगा।

कारण यह है कि मोंगोडीबी जॉइन नहीं करता है। जब आपको एक ऐसी क्वेरी की आवश्यकता होती है जो कई दस्तावेज़ों तक फैली हो, तो आपको प्रत्येक दस्तावेज़ के लिए एक अलग क्वेरी की आवश्यकता होती है।

आपके उदाहरण में, प्रत्येक user दस्तावेज़ में _id . के साथ एक सरणी होगी उनके दोस्तों की। "यूजरए के सभी दोस्तों के सभी दोस्त जो यूजरबी के भी दोस्त हैं" खोजने का मतलब यह होगा कि आप:

  1. उपयोगकर्ता ए ढूंढें और उसके मित्र-सरणी प्राप्त करें
  2. उस सरणी में सभी उपयोगकर्ताओं को ढूंढें और उनके मित्र-सरणी प्राप्त करें
  3. इन सरणियों में उन सभी उपयोगकर्ताओं को ढूंढें जिनके मित्र-सरणी में UserB है

ये तीन प्रश्न हैं जो आपको करने हैं। इनमें से प्रत्येक प्रश्न के बीच, परिणाम सेट को एप्लिकेशन को भेजना होता है, एप्लिकेशन को एक नई क्वेरी तैयार करनी होती है और इसे डेटाबेस में वापस भेजना होता है। दूसरी क्वेरी से लौटाया गया परिणाम-सेट काफी बड़ा हो सकता है, जिसका अर्थ है कि तीसरी क्वेरी में कुछ समय लग सकता है।

tl;dr: इस काम के लिए सही उपकरण का उपयोग करें। जब आपका डेटा ग्राफ़-आधारित होता है और आप उस पर ग्राफ़-आधारित क्वेरी करना चाहते हैं, तो ग्राफ़ डेटाबेस का उपयोग करें।



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

  2. मोंगो के साथ सरणी में किसी ऑब्जेक्ट में किसी फ़ील्ड के लिए क्वेरी?

  3. जावा का उपयोग करके मोंगोडीबी संग्रह में जावा ऑब्जेक्ट डालना

  4. बाहरी मॉड्यूल में स्कीमा Node.js में काम नहीं कर रहा है

  5. MongoDb . में एक गहरा रिकॉर्ड अपडेट कर रहा है