Als het precies null
is (in tegenstelling tot niet ingesteld):
db.states.find({"cities.name": null})
(maar zoals javierfp opmerkt, het komt ook overeen met documenten die helemaal geen stedenarray hebben, ik neem aan dat ze dat wel hebben).
Als de eigenschap niet is ingesteld:
db.states.find({"cities.name": {"$exists": false}})
Ik heb het bovenstaande getest met een collectie gemaakt met deze twee inserts:
db.states.insert({"cities": [{name: "New York"}, {name: null}]})
db.states.insert({"cities": [{name: "Austin"}, {color: "blue"}]})
De eerste zoekopdracht vindt de eerste staat, de tweede zoekopdracht vindt de tweede. Als je ze allebei wilt vinden met één zoekopdracht, kun je een $or
. maken vraag:
db.states.find({"$or": [
{"cities.name": null},
{"cities.name": {"$exists": false}}
]})