अगर यह बिल्कुल null
है (सेट न करने के विपरीत):
db.states.find({"cities.name": null})
(लेकिन जैसा कि जेवियरफप बताता है, यह उन दस्तावेजों से भी मेल खाता है जिनमें कोई शहर सरणी नहीं है, मुझे लगता है कि वे करते हैं)।
अगर ऐसा है कि संपत्ति सेट नहीं है:
db.states.find({"cities.name": {"$exists": false}})
मैंने इन दो प्रविष्टियों के साथ बनाए गए संग्रह के साथ उपरोक्त का परीक्षण किया है:
db.states.insert({"cities": [{name: "New York"}, {name: null}]})
db.states.insert({"cities": [{name: "Austin"}, {color: "blue"}]})
पहली क्वेरी पहली स्थिति ढूंढती है, दूसरी क्वेरी दूसरी ढूंढती है। यदि आप उन दोनों को एक प्रश्न के साथ खोजना चाहते हैं तो आप एक $or
. बना सकते हैं क्वेरी:
db.states.find({"$or": [
{"cities.name": null},
{"cities.name": {"$exists": false}}
]})