sql >> Database teknologi >  >> NoSQL >> MongoDB

Tilføj et felt med stigende værdi i MongoDB Aggregation baseret på betingelse

Denne sammenlægning tilføjer et felt med en tæller:

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. Strategier til hurtige søgninger af milliarder af små dokumenter i MongoDB

  2. Python ordbog:fjernelse af u' tegn

  3. Hvordan forespørger jeg refererede objekter i MongoDB?

  4. Funktion til at bytte værdier i NodeJS m/ mongo+mongoose