MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Tambahkan bidang dengan nilai yang meningkat di Agregasi MongoDB berdasarkan kondisi

Agregasi ini menambahkan bidang dengan penghitung:

db.collection.aggregate( [
  { 
      $match: { 
          joining_date: { $exists: true } 
      } 
  },
  { 
      $group: { 
          _id: null, 
          docs: { $push: "$$ROOT" } 
      } 
  },
  { 
      $project: { 
          _id: 0,
         R: { 
             $map: {
                 input: { $range: [ 0, { $size: "$docs" } ] },
                 in: {
                     $mergeObjects: [ 
                         { joining_date_count: { $add: [ "$$this", 1 ] } },
                         { $arrayElemAt: [ "$docs", "$$this" ] }
                     ]
                 }
             }
         }
      }
  },
  { 
      $unwind: "$R" 
  },
  { 
      $replaceRoot: { newRoot: "$R" } 
  }
] )


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $menit

  2. Gambaran Umum Pengindeksan Basis Data untuk MongoDB

  3. Pipa agregasi Mongodb cara membatasi push grup

  4. Desain Skema database Mongodb dengan data bersama

  5. Luwak ini.model bukan fungsi