Jeśli jest dokładnie null
(w przeciwieństwie do nieustawionego):
db.states.find({"cities.name": null})
(ale jak wskazuje javierfp, dopasowuje również dokumenty, które w ogóle nie mają tablicy miast, zakładam, że tak).
Jeśli tak jest, że właściwość nie jest ustawiona:
db.states.find({"cities.name": {"$exists": false}})
Testowałem powyższe z kolekcją utworzoną z tych dwóch wstawek:
db.states.insert({"cities": [{name: "New York"}, {name: null}]})
db.states.insert({"cities": [{name: "Austin"}, {color: "blue"}]})
Pierwsze zapytanie odnajduje pierwszy stan, drugie zapytanie odnajduje drugi. Jeśli chcesz znaleźć je oba za pomocą jednego zapytania, możesz utworzyć $or
zapytanie:
db.states.find({"$or": [
{"cities.name": null},
{"cities.name": {"$exists": false}}
]})