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

Truy vấn Mongodb trên các phần tử mảng lồng nhau

Vì không có cách nào để biết trình điều khiển bạn sử dụng ở đây là giải pháp shell:

db.foo.find({
    "Asset.Metadata.Platforms.Platform": {
        $elemMatch: {
            "@name": VAR_PLATFORM,
            "PublishingRanges.PublishingRange": {
                $elemMatch: {
                    "@startdate": {$gt: VAR_START},
                    "@enddate": {$lt: VAR_END}
                }
            }
        }
    }  
})

Nhân tiện, bạn có thể đơn giản hóa cấu trúc tài liệu bằng cách bỏ qua PlatformPublishingRange và gán mảng cho Platforms một PublishingRanges tương ứng.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Khóa đối tượng MongoDB với chuỗi mẫu ES6

  2. Mongoose hoặc truy vấn

  3. MongoDB:Cập nhật ngữ nghĩa Công cụ sửa đổi của $ unset

  4. Trong Mongo sự khác biệt giữa sharding và replication là gì?

  5. Tạo Mongo ObjectId (_id) với thời gian tùy chỉnh?