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

Sử dụng hàm MongoDB .findOne () với giá trị tài liệu lồng nhau

Khi đối sánh với một mảng, nếu bạn chỉ định truy vấn như sau:

{ exercises: { _id: exerciseID } }

MongoDB cố gắng thực hiện khớp chính xác trên tài liệu . Vì vậy, trong trường hợp này, MongoDB sẽ chỉ khớp với các tài liệu trong exercises mảng có dạng chính xác { _id: ObjectId("...") } . Bởi vì các tài liệu trong exercises có các trường khác, trường này sẽ không bao giờ kết hợp, ngay cả khi _id đều giống nhau.

Thay vào đó, điều bạn muốn làm là truy vấn trường tài liệu trong mảng . Tài liệu truy vấn hoàn chỉnh sau đó sẽ trông giống như sau:

{
  user: user.id,
  "exercises._id": exerciseID
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn mongo để phát hiện các thay đổi giá trị trong chuỗi thời gian

  2. Làm thế nào để cài đặt trình điều khiển php mongodb trên Windows 8 và máy chủ wamp?

  3. mongoose tìm và cập nhật loại bỏ các trường khác

  4. Sử dụng mongodb để lưu trữ dữ liệu vốn chủ sở hữu trong ngày

  5. Cách hiệu quả nhất để thay đổi giá trị trường chuỗi thành chuỗi con của nó