Mongoose GroupBy yerine Aggregate

Bizler eski SQL’ciler olarak bu yeni jargona alışmaya çalışıyoruz. NOSQL’cilerin tarzı değişik arkadaş. Önceden tabloda yeni bir field için AS anahtar kelimesini kullandık mı orada istediğimizi yapardık.

Şimdi MongoDB için Mongoose kullanarak bunu yapmak istediğimizde aggregate ile karşılaşıyoruz. Benim yapmak istediğim Haberlerin içindeki yorumları sayıp yorum sayısı en fazla olana göre sıralasın.

Bunun için;

New.aggregate({$unwind : '$comments'},
{$group : {_id:'$_id',content:{'$first':'$content'},commentCount:{$sum:1}}},
{ $limit : 20 },
{$sort:{'commentCount': -1}}, function(err,posts){
res.send(posts);
});

alierbey | 03/10/2016

Leave a Reply