Jika benar-benar null
(sebagai lawan dari tidak disetel):
db.states.find({"cities.name": null})
(tetapi seperti yang ditunjukkan javierfp, itu juga cocok dengan dokumen yang tidak memiliki array kota sama sekali, saya berasumsi bahwa mereka melakukannya).
Jika properti tidak disetel:
db.states.find({"cities.name": {"$exists": false}})
Saya telah menguji di atas dengan koleksi yang dibuat dengan dua sisipan ini:
db.states.insert({"cities": [{name: "New York"}, {name: null}]})
db.states.insert({"cities": [{name: "Austin"}, {color: "blue"}]})
Kueri pertama menemukan status pertama, kueri kedua menemukan yang kedua. Jika Anda ingin menemukan keduanya dengan satu kueri, Anda dapat membuat $or
permintaan:
db.states.find({"$or": [
{"cities.name": null},
{"cities.name": {"$exists": false}}
]})