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

Как мога да направя elemMatch вътрешен масив с помощта на mongodb?

Мисля, че можете да го направите с агрегати

db.collection.aggregate([
  {
    $match: {
      "BookingData.products": { "$exists": true }
    }
  },
  {
    $set: {
      "BookingData.products": {
        "$filter": {
          "input": "$BookingData.products",
          "cond": {
            $and: [
              { $ne: [ "$$this.ProductID", undefined ] },
              { $ne: [ "$$this._id", null ] },
              { $ne: [ "$$this.IsDeliveryFailed", "Yes" ] }
            ]
          }
        }
      }
    }
  },
  {
    $match: {
      $expr: {
        $ne: [ "$BookingData.products", [] ]
      }
    }
  }
])

Работеща Mongo playground




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да се справя с произволен хеш, върнат от mongo в go (с помощта на mgo)?

  2. Премахване на елемент от вложен масив mongodb

  3. Правене на spring-data-mongodb като мулти-наемател

  4. конвертиране на милисекунди до момента в конвейера за агрегиране на mongodb за групиране по?

  5. как да конвертирате клеймо за време в дата в mongodb?