MongoDB: किसी क्षेत्र की गैर-मौजूदगी से एक दस्तावेज़ प्राप्त करें?


173

क्या "जहां दस्तावेज़ में फ़ील्ड शामिल नहीं है" की स्थिति निर्दिष्ट करने का कोई तरीका है?

उदाहरण के लिए, मैं केवल इन 2 में से पहला खोजना चाहता हूं क्योंकि इसमें "मूल्य" फ़ील्ड नहीं है।

{"fruit":"apple", "color":"red"}


{"fruit":"banana", "color":"yellow", "price":"2.00"}


3
आप भी कोशिश कर सकते हैंdb.mycollection.find({ "price" : null })
badReiko

जवाबों:


329

$existsऑपरेटर का प्रयास करें :

db.mycollection.find({ "price" : { "$exists" : false } })

और इसके प्रलेखन देखें ।


12
+1। हालाँकि, ध्यान रखें कि ऐसे प्रश्न अनुक्रमण का उपयोग नहीं कर सकते हैं और बड़े संग्रह पर बहुत धीमी गति से हो सकते हैं।
मेमनोसिन

10
महान बिंदु - धन्यवाद। मुझे पता है कि यह चेतावनी MongoDB संस्करण 1.8.x और उससे पहले का सच है; लेकिन मुझे लगा कि $ मौजूदा फील्ड बाधाओं के साथ प्रश्न अब संस्करण 2.0 में अनुक्रमित का उपयोग कर सकते हैं ...?
१:१५ तक नम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.