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

MongoDB, Flask, агрегиране с $unwind заявка

Можете да постигнете това, като използвате $unwind и след това $group с $push , като това:

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 ще унищожи вашия масив и след това филтрирате резултатите и след $group тях отново

Или можете да го направите, като използвате $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. Най-добрият начин за съхраняване/получаване на стойности, посочени от списък в Mongo/RectiveMongo?

  2. Как да създам първия потребител на mongodb с разрешено оторизиране?

  3. Express/Node.js грешка:Референтна грешка:Res не е дефиниран

  4. Преименуването на поле във вграден документ в масив в MongoDB не работи

  5. MongoDB и PostgreSQL мисли