MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

kembalikan dokumen dengan subdokumen terbaru hanya dalam agregat mongodb

Anda dapat menggunakan $unwind , $sort , dan $group untuk melakukan ini menggunakan sesuatu seperti:

Thread.aggregate([
    // Duplicate the docs, one per messages element.
    {$unwind: '$messages'}, 
    // Sort the pipeline to bring the most recent message to the front
    {$sort: {'messages.date_added': -1}}, 
    // Group by _id+title, taking the first (most recent) message per group
    {$group: {
        _id: { _id: '$_id', title: '$title' }, 
        message: {$first: '$messages'}
    }},
    // Reshape the document back into the original style
    {$project: {_id: '$_id._id', title: '$_id.title', message: 1}}
]);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Permintaan luwak dekat (...) pada bidang yang diindeks 2dsphere tidak mengembalikan hasil yang valid

  2. MongoDB $binarySize

  3. luwak unik:benar tidak berfungsi

  4. Cara Menginstal Edisi Komunitas MongoDB di Ubuntu

  5. Agregat Mongodb (hitungan) di beberapa bidang secara bersamaan