दुर्भाग्य से, 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' फ़ील्ड को अनुक्रमित करने की अनुमति देती है, जो आपकी मूल स्कीमा नहीं है।
मुझे आशा है कि यह मदद करता है।
-विलियम