sql >> Databasteknik >  >> NoSQL >> MongoDB

Lägg till ett fält med ökande värde i MongoDB Aggregation baserat på tillstånd

Denna aggregering lägger till ett fält med en räknare:

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. En introduktion till Percona Server för MongoDB 4.2

  2. Hur uppdaterar jag dokumentfält i mongo db med java-drivrutinen?

  3. RuntimeError:Uppgift kopplad till en annan slinga

  4. Förhindra runtime panik i bson.ObjectIdHex