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

Få de sidste dokumenter med et særskilt kriterium

Du kan bruge aggregeringsramme til at opnå dette:

 db.collection.aggregate(
          [
             {$match:
                  {action:'entry'}
             },
             {$group:
                  {_id:'$name',
                   first:
                         {$max:'$timestamp'}
                  }
             }
          ])

Hvis du sandsynligvis vil inkludere andre felter i resultaterne, kan du bruge $first operatør

 db.collection.aggregate(
          [
             {$match:
                  {action:'entry'}
             },
             {$sort:
                  {name:1, timestamp:-1}
             },
             {$group:
                  {_id:'$name',
                   timestamp: {$first:'$timestamp'},
                   otherField: {$first:'$otherField'},
                  }
             }
          ])


  1. Hvordan konfigureres AppArmor til MongoDB Replica Sets?

  2. hvordan man fjerner array med værdien null efter unset i mongodb

  3. MongoDB / Pymongo-forespørgsel med Datetime

  4. Sørg for, at indekset ikke virker - MongoDB