Si es exactamente null
(en lugar de no establecer):
db.states.find({"cities.name": null})
(pero como señala javierfp, también coincide con documentos que no tienen ninguna matriz de ciudades, supongo que sí).
Si es el caso de que la propiedad no está establecida:
db.states.find({"cities.name": {"$exists": false}})
Probé lo anterior con una colección creada con estos dos insertos:
db.states.insert({"cities": [{name: "New York"}, {name: null}]})
db.states.insert({"cities": [{name: "Austin"}, {color: "blue"}]})
La primera consulta encuentra el primer estado, la segunda consulta encuentra el segundo. Si desea encontrarlos a ambos con una consulta, puede hacer un $or
consulta:
db.states.find({"$or": [
{"cities.name": null},
{"cities.name": {"$exists": false}}
]})