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

Mongo. Truy vấn tài liệu với một mảng có con TẤT CẢ phải khớp với một truy vấn

Bạn có thể sử dụng $ map để áp dụng điều kiện của bạn cho mỗi shipment và sau đó sử dụng $ allElementsTrue bên trong $ expr để kiểm tra xem tất cả các yếu tố đó có khớp không:

db.shop_orders.aggregate([
    {
        $match: { shipments: { $exists: true, $ne: [] } }
    },
    {
        $match: {
            $expr: {
                $allElementsTrue: {
                    $map: {
                        input: "$shipments",
                        as: "shipment",
                        in: {
                            $and: [
                                { $eq: [ "$$shipment.status", "Delivered" ] },
                                { $lte: [ "$$shipment.deliveredAt", new Date("2018-07-28") ] }
                            ]
                        }
                    }
                } 
            }
        }
    }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Xác thực tối thiểu không hoạt động trong Mongoose

  2. Làm cách nào để gọi đến mongodb bên trong các chức năng bản đồ / giảm của tôi? Nó có phải là một thực hành tốt?

  3. MongoDB, Java:Truy xuất thuộc tính ngày tháng dưới dạng UTC

  4. Giới hạn kết quả trong MongoDB nhưng vẫn nhận được đầy đủ?

  5. Không thể nhập json trong MongoDB