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

Agregat MongoDB - Permintaan untuk mendapatkan item terbaru dalam grup

Anda dapat menggunakan $last dan $first operator. Perhatikan bahwa Anda harus mengurutkan dokumen sebelum mengelompokkan:

db.so.aggregate([
 { $sort: {productID:-1, date: -1} },
 { 
     $group: {
         _id : "$productID",
         date: {$last: "$date" },
         amount: {$first: "$amount" },
         id : {$first: "$_id"}
     }
 },
 { $project: { _id: "$id", productId: "$_id", date: 1, amount: 1 } }
])

Keluaran:

{
    "_id" : 5,
    "productId" : 1,
    "date" : ISODate("2017-02-01T00:00:00.000Z"),
    "amount" : 11
},
{
    "_id" : 7,
    "productId" : 2,
    "date" : ISODate("2017-02-01T00:00:00.000Z"),
    "amount" : 222
},
{
    "_id" : 8,
    "productId" : 3,
    "date" : ISODate("2017-02-01T00:00:00.000Z"),
    "amount" : 33
},
{
    "_id" : 4,
    "productId" : 4,
    "date" : ISODate("2017-02-01T00:00:00.000Z"),
    "amount" : 4
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengapa MongoDB tidak menggunakan indeks gabungan untuk kueri?

  2. Cara mengenkripsi bidang di MongoDB

  3. Jenis MongoDB mana yang tidak dipertahankan oleh mongoimport/mongoexport?

  4. Menerapkan evaluasi objek ekspresi Query seperti goMongoDB

  5. MongoDB tidak menggunakan /etc/mongodb.conf setelah saya mengubah dbpath