MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Вземете последни документи с различни критерии

Можете да използвате рамка за агрегиране, за да постигнете това:

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

Ако има вероятност да включите други полета в резултатите, можете да използвате $first оператор

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Извличане на подреден резултат за уместност от текстова заявка в MongoDB Collection с помощта на C# драйвера

  2. Съставни индекси за OR+Sort заявка в mongodb

  3. Формат на датата Mongoose

  4. Защо MongoDB не използва пресичане на индекси?

  5. MongoDB HostName/URI конфигурация