मॉन्गोस में मॉडल का पालन करें:
var specie = mongoose.Schema ({आदेश: स्ट्रिंग, परिवार: स्ट्रिंग, जीनस: स्ट्रिंग, प्रजातियां: स्ट्रिंग, गुण: [{संपत्ति: स्ट्रिंग, मान: स्ट्रिंग}]});
मैं एक क्वेरी बनाने की कोशिश कर रहा हूं जो गुण सरणी में विशिष्ट मानों के आधार पर दस्तावेज़ वापस करेगा।
नीचे मेरी क्वेरी का एक उदाहरण है:
var query = {$ and: [{"properties.property": "पंखों की संख्या", "properties.value ":" 2 "}, {" properties.property ":" एंटीना अंत "," properties.value ":" clubbed "}}
मैंने सोचा कि यह क्वेरी काम करेगी लेकिन यह वास्तव में सभी दस्तावेज़ों को "पंखों की संख्या" और "ऐन्टेना एंड" और एक मान "4" और मूल्य "क्लबबर्ड" प्रदान करता है।
{property: "पंखों की संख्या", मान: "2"} और {संपत्ति: "ऐन्टेना एंड", मान: "क्लबबर्ड"}
हालांकि उपरोक्त प्रश्न उन दस्तावेजों को भी देता है जिनके पास संपत्ति है:
{property : "पैर की संख्या", मूल्य: "2"}
मैं इसका समाधान कैसे कर सकता हूं?
मेरा मानना है कि मुझे अपना जवाब मिला। मुझे क्वेरी में $ elemMatch का उपयोग करना होगा:
var query = {$ और: [{properties: {$ elemMatch: {property: "पंखों की संख्या", मान: "2"} }}, {संपत्तियों: {$ elemMatch: {"property": "ऐन्टेना अंत", "मान": "क्लबबर्ड"}}}]}
संसाधन लिंक जोड़ना:
यह सही परिणाम वापस आ रहा है।
No comments:
Post a Comment