Pokud je přesně null
(na rozdíl od nenastaveno):
db.states.find({"cities.name": null})
(ale jak zdůrazňuje javierfp, odpovídá také dokumentům, které nemají vůbec žádné pole měst, předpokládám, že ano).
V případě, že vlastnost není nastavena:
db.states.find({"cities.name": {"$exists": false}})
Výše jsem testoval s kolekcí vytvořenou s těmito dvěma vložkami:
db.states.insert({"cities": [{name: "New York"}, {name: null}]})
db.states.insert({"cities": [{name: "Austin"}, {color: "blue"}]})
První dotaz najde první stav, druhý dotaz najde druhý. Pokud je chcete najít oba pomocí jednoho dotazu, můžete vytvořit $or
dotaz:
db.states.find({"$or": [
{"cities.name": null},
{"cities.name": {"$exists": false}}
]})