MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Монго. Документи за заявка с масив, чиито деца ВСИЧКИ трябва да съответстват на заявка

Можете да използвате $map за да приложите вашето условие за всяка shipment и след това използвайте $allElementsTrue вътре $expr за да проверите дали всички тези елементи съвпадат:

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. MongoDB обобщава върнатия брой от 0, ако няма резултати

  2. mongoengine - Заявка към ListField на EmbeddedDocumentField

  3. PyMongo повдига [errno 49] не може да присвои заявения адрес след голям брой заявки

  4. Как мога да се свържа с mongodb с помощта на express без mongoose?

  5. mgo:как да актуализирате конкретен масив в документ