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

Mongoose Aggregate :batasi jumlah record dalam $group

Anda dapat menggunakan $first untuk mengambil nilai dari dokumen pertama di setiap grup saluran yang diurutkan:

var allids = ['xxxxx','yyyy'];
Game.aggregate([
    {$match: {'oid': {$in:allids}}},
    {$sort: {'number_plays': -1}},
    {$group: {
        _id: '$oid', 
        game_name: {$first: "$game_name"}, 
        game_id: {$first: "$game_id"}, 
        number_plays: {$first:"$number_plays"}
    }}
], function(err,list){
    console.log(list);
    res.end();
});

Karena Anda telah mengurutkan number_plays turun pada tahap pipa sebelumnya, ini akan mengambil nilai dari setiap oid dokumen grup dengan number_plays tertinggi .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Instal HANYA shell mongo, bukan mongodb

  2. Kiat untuk Mengelola Konfigurasi Basis Data Anda

  3. res.redirect menampilkan informasi lama setelah pengiriman formulir?

  4. ConfigurationError:Server di 127.0.0.1:27017 melaporkan versi wire 0, tetapi versi PyMongo ini membutuhkan setidaknya 2 (MongoDB 2.6)

  5. Bagaimana cara menormalkan/mengurangi data waktu di mongoDB?