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

MongoDB, Flask, tổng hợp với truy vấn $ unwind

Bạn có thể đạt được điều đó bằng cách sử dụng $unwind và sau đó là $group với $push , như thế này:

db.pitcrewdb.aggregate([
  {
    "$match": {
      "run_number": "1",
      "frames.frame_number": {
        "$gte": 2
      }
    }
  },
  {
    "$project": {
      "_id": 0
    }
  },
  {
    "$unwind": "$frames"
  },
  {
    "$match": {
      "frames.frame_number": {
        "$gte": 2
      }
    }
  },
  {
    "$group": {
      "_id": "$run_number",
      "frames": {
        "$push": "$frames"
      }
    }
  }
])

$unwind sẽ hủy mảng của bạn và sau đó bạn lọc kết quả và sau $group chúng một lần nữa

Hoặc bạn cũng có thể làm điều đó bằng cách sử dụng $filter

db.pitcrewdb.aggregate([
  {
    "$match": {
      "run_number": "1"
    }
  },
  {
    "$project": {
      "_id": 0,
      "frames": {
        $filter: {
          input: "$frames",
          as: "frame",
          cond: {
            $gte: [
              "$$frame.frame_number",
              2
            ]
          }
        }
      }
    }
  }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cập nhật mảng Mongo hoặc đẩy vào một truy vấn

  2. Facebook user_id là MongoDB BSON ObjectId?

  3. làm thế nào để biến một biến trở thành một khóa duy nhất trong mongoose?

  4. Xác thực Powershell Mongodb

  5. Kết nối lại với MongoDB một cách đáng tin cậy