Wenn es genau ist null
(im Gegensatz zu nicht gesetzt):
db.states.find({"cities.name": null})
(aber wie javierfp betont, stimmt es auch mit Dokumenten überein, die überhaupt kein Städte-Array haben, ich gehe davon aus, dass dies der Fall ist).
Wenn die Eigenschaft nicht festgelegt ist:
db.states.find({"cities.name": {"$exists": false}})
Ich habe das Obige mit einer Sammlung getestet, die mit diesen beiden Beilagen erstellt wurde:
db.states.insert({"cities": [{name: "New York"}, {name: null}]})
db.states.insert({"cities": [{name: "Austin"}, {color: "blue"}]})
Die erste Abfrage findet den ersten Status, die zweite Abfrage den zweiten. Wenn Sie beide mit einer Abfrage finden möchten, können Sie eine $or
Abfrage durchführen:
db.states.find({"$or": [
{"cities.name": null},
{"cities.name": {"$exists": false}}
]})