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

Làm cách nào tôi có thể thực hiện elemMatch bên trong mảng bằng cách sử dụng mongodb?

Tôi nghĩ rằng bạn có thể làm điều đó với các tổng hợp

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", [] ]
      }
    }
  }
])

Làm việc Sân chơi Mongo




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Kéo nhiều đối tượng từ một mảng

  2. MongoDB $ abs

  3. Cách hiển thị dữ liệu từ MongoDB đến giao diện người dùng thông qua Node.js mà không cần sử dụng khuôn khổ

  4. Trợ giúp về biểu mẫu Rails + MongoMapper + EmbeddedDocument

  5. Sử dụng $ graphLookup để xem qua cấu trúc dữ liệu lồng nhau trong MongoDB