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

क्या मोंगोडीबी में एक सूची फ़ील्ड एक शार्प कुंजी हो सकती है?

कुछ फीड बैक के आधार पर मुझे ऐसा लगता है कि सूची फ़ील्ड का उपयोग शार्ड कुंजी के रूप में करना संभव नहीं है, मैं यह बताना चाहता हूं कि मोंगोडीबी की सीमाओं का उपयोग करके इस उपयोग के मामले को कैसे तेज किया जा सकता है:

मूल वस्तु:

widget:
{
    primary_key: '2389sdjsdafnlfda'

    categories: ['hair', 'nails', 'dress']
    colors:     ['red', 'white']

    #All the other fields in the document that don't need to be queried upon: 
    ...
    ...
}

डेटा लेयर, शार्ड की के लिए चुने गए फ़ील्ड में तत्वों की संख्या के आधार पर ऑब्जेक्ट को कई पॉइंटर ऑब्जेक्ट में विभाजित करता है:

widget_pointer:
{
    primary_key: '2389sdjsdafnlfda'
    categories: 'hair',
    colors:     ['red', 'white']
}

widget_pointer:
{
    primary_key: '2389sdjsdafnlfda'
    categories: 'nails',
    colors:     ['red', 'white']
}

widget_pointer:
{
    primary_key: '2389sdjsdafnlfda'
    categories: 'dress',
    colors:     ['red', 'white']
}

स्पष्टीकरण:

  • फ़ील्ड categories अब MongoDB में शार्प की हो सकती है।
  • मूल वस्तु अब की-वैल्यू स्टोर में संग्रहित की जाएगी। MongoDB में डेटा के विरुद्ध क्वेरीज़ एक पॉइंटर ऑब्जेक्ट लौटाएगी जिसका उपयोग ऑब्जेक्ट को की-वैल्यू स्टोर से प्राप्त करने के लिए किया जाएगा।
  • MongoDB डेटा पर क्वेरी केवल एक शार्प को हिट करेगी।
  • MongoDB डेटा पर सम्मिलन सूची में तत्वों के रूप में कई शार्क हिट करेगा, ज्यादातर मामलों में, शार्क की कुल संख्या का केवल एक छोटा सा उपसमूह प्रभावित होगा।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्वेरी डेटा zf2 में दिखाई नहीं दे रहा है?

  2. त्रुटि प्राप्त करना:रूट में रूट () स्ट्रिंग पर लागू नहीं किया जा सकता है

  3. Node.js, angular.js और MongoDB, मॉडलिंग संबंधों और अन्य रैंप अप युक्तियों के साथ शुरुआत करना

  4. काफ्का कनेक्टर डिबेज़ियम मोंगोडब सीडीसी अपडेट/$सेट संदेश बिना फ़िल्टर(_id मान)

  5. MongoDB एक संग्रह से सरणी तत्व खींचता है