MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

cách truy vấn các đối tượng con trong mongodb

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}}
]})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để cập nhật giá trị của tài liệu nhúng cụ thể, bên trong một mảng, của một tài liệu cụ thể trong MongoDB?

  2. Cách lọc mảng trong tài liệu con với MongoDB

  3. MongoDB:cập nhật mọi tài liệu trên một trường

  4. Bắt đầu với PHP và MongoDB

  5. Ghi nhật ký kiểm tra cho MongoDB