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

फ़ील्ड नाम के बिना मोंगोडब क्वेरी

दुर्भाग्य से, MongoDB किसी विशेष मान वाले सभी फ़ील्ड को क्वेरी करने के किसी भी तरीके का समर्थन नहीं करता है। इस वृद्धि का अनुरोध करने वाला एक मौजूदा जीरा टिकट है:https://jira.mongodb.org/browse/SERVER-1248। बेझिझक टिप्पणी करें, वोट करें या उस टिकट का अनुसरण करें।

इस बीच, इसे संभालने का सामान्य तरीका MongoDB स्कीमा को बदलना है। आपके उदाहरण के लिए, आप अपने मौजूदा स्कीमा को बदल देंगे:

{"123": "apple", "217": "pear", "179": "orange"} 
{"831": "pear", "189": "grapes"} 

और आप इसकी संरचना कुछ इस तरह कर सकते हैं:

 { tags: [
        { cid: "123", value: "apple" },
        { cid: "217", value: "pear" },
        { cid: "179", value: "orange" },
      ]
    }
   { tags: [
        { cid: "831", value: "pear" },
        { cid: "189", value: "grapes" },
      ]
    }

एक बार ऐसा करने के बाद, आप सभी वांछित दस्तावेज़ों को खोजने के लिए निम्नलिखित क्वेरी कर सकते हैं:

 db.docs.find( {'tags.value': "apple" } )

ध्यान दें कि यह स्कीमा आपको 'tags.cid' और 'tags.value' फ़ील्ड को अनुक्रमित करने की अनुमति देती है, जो आपकी मूल स्कीमा नहीं है।

मुझे आशा है कि यह मदद करता है।

-विलियम



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला के माध्यम से आइटम को मोंगो सरणी में पुश करें

  2. एक नेवला मॉडल में मॉडल पैरामीटर पास करना

  3. आईडी के आधार पर अद्यतन सरणी वस्तु?

  4. अधिकतम दूरी और मोंगोडीबी के लिए उपयोग करने वाली इकाइयां?

  5. 127.0.0.1:27017 से कनेक्ट करने में विफल, कारण:त्रुटि:111 कनेक्शन अस्वीकृत