Nếu nó chính xác là null
(trái ngược với not set):
db.states.find({"cities.name": null})
(nhưng như javierfp chỉ ra, nó cũng khớp với các tài liệu không có mảng thành phố nào cả, tôi giả sử rằng chúng có).
Nếu thuộc tính không được đặt:
db.states.find({"cities.name": {"$exists": false}})
Tôi đã thử nghiệm ở trên với một bộ sưu tập được tạo bằng hai phụ trang sau:
db.states.insert({"cities": [{name: "New York"}, {name: null}]})
db.states.insert({"cities": [{name: "Austin"}, {color: "blue"}]})
Truy vấn đầu tiên tìm trạng thái đầu tiên, truy vấn thứ hai tìm trạng thái thứ hai. Nếu bạn muốn tìm cả hai bằng một truy vấn, bạn có thể tạo $or
truy vấn:
db.states.find({"$or": [
{"cities.name": null},
{"cities.name": {"$exists": false}}
]})