2014-07-02 10 views

Odpowiedz

6

Zastosowanie

Model.find() 
.groupBy('term') 
.sum('count') 
.limit(20) 
.sort({count: 'desc'}) 
.exec(function (err, data){ 
//Your code here.. 
}); 
+0

prostu starał odpowiedź. Nie działa :( – user3716835

+0

Użyj 'sort' przed' groupBy' .. Może to będzie działać .. Mam nadzieję, że wyżej wymieniona metoda nie daje żadnych błędów ..? – Darwesh

+0

wypróbował także to. Twoja metoda nie daje żadnych błędów po prostu wyświetla wszystkie wyniki – user3716835

0

Zastosowanie

var _ = require('lodash'); 
    var params = req.params.all(); 
    var query = {}; 

    if(_.has(params, 'limit')) query['limit'] = params.limit; 
    if(_.has(params, 'skip')) query['skip'] = params.skip; 
    if(_.has(params, 'sort')) query['sort'] = params.sort.toString(); 

    query['where'] = {}; 


    Model.count(query.where) 
     .exec(function (err, count) { 

     var result = {}; 

     result['total'] = count; 

     Model.find(data.back.query) 
      .exec(function (err,doc) { 
      if(err) console.error('Error ',e); 

      result['data'] = doc; 

      return res.json({ 
       success : true, 
       content : result 
      }); 

     }) 
     }) 
0

Przykład zastąpić toJSON

// Your Model 
    module.exports = { 
     attributes: { 
      // some attributes here 
      name: 'string', 
      email: 'string', 
      password: 'string', 

      // Override .toJSON instance method 
      toJSON: function() { 
       var obj = this.toObject(); 
       delete obj.password; 
       return obj; 
      } 
     } 
    }; 
0

Użyj tego:

Model.find() 
    .sort({count: 'desc'}) 
    .groupBy('term') 
    .exec(function (err, data){ 
    //Your code here.. 
    }); 
Powiązane problemy