sql >> Database >  >> NoSQL >> MongoDB

Voeg een veld toe met toenemende waarde in MongoDB Aggregation op basis van voorwaarde

Deze aggregatie voegt een veld toe met een teller:

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. MongoDB+Java:Inloggegevens ontbreken in het gebruikersdocument

  2. Langzame zoekopdracht in mongodb simuleren?

  3. Plugins installeren voor mangoest - krijg foutmelding

  4. Memcached installeren op CentOS 8