2014-10-26 129 views
0

我想通過「createdAt」列對數據進行排序。有時按升序排列,也按降序排列。我正在使用mongo db。如何使用sails-js以降序對數據進行排序?

目前,我已經創建的應用程序具有像用戶數據可以按管理要求排序的功能。管理員可以按升序或降序查看數據。

我已經嘗試過使用排序參數,每次以相同的順序給我數據。如何以管理員的每個管理員請求來更改。

請回顧下面,我已經嘗試過。

var options = { 
    limit: request.body.limit || undefined, 
    skip: request.body.skip || undefined, 
    sort: request.body.sort || "createdAt", 
    where: request.body.where || undefined 
}; 

Users.find(options, function (err, Users) { 
    if (Users === undefined) { 
     return response.json({message: "No data Found"}); 
    } 
    else if (err) { 
     return response.json({message: err}); 
    } else { 
     return response.json({data: Users}); 
    } 
}); 

回答

0

你必須做這樣的事情:

.sort({ createdAt: 'desc' }) 

你的情況:

var options = {}; 
options[request.body.sort || "createdAt"] = 'desc'; // or 'asc'  
+0

在帆JS不工作。 – 2014-10-27 18:33:37

0
var options = { 
    limit: request.body.limit || undefined, 
    skip: request.body.skip || undefined, 
    sort: request.body.sort || "createdAt desc", // Please mention here, desc or asc followed by space with  column name 
    where: request.body.where || undefined 
}; 

Users.find(options, function (err, Users) { 
    if (Users === undefined) { 
     return response.json({message: "No data Found"}); 
    } 
    else if (err) { 
     return response.json({message: err}); 
    } else { 
     return response.json({data: Users}); 
    } 
}); 
1

試試這個

var myQuery = Users.find(options); 

// if you want to sort in descending order 
myQuery.sort('createdAt DESC'); 

// if you want to sort in ascending order 
myQuery.sort('createdAt ASC') 

myQuery.exec(function callBack(err,results){ 
    console.log(results) 
}); 
0

更好地使用承諾。保持代碼簡單易懂。

let condition = { 
    someField: 'value', 
    someOtherField: 'value' 
} 

let limit = 10; 
let skip = 10; 

Users.find(condition) 
.limit(limit) 
.skip(skip) 
.sort({createdAt: 1}) 
.then(result => { 
    // do whatever you need to do with the result here 
    console.log(result) 
}) 

對於降序排序,排序條款更改爲

.sort({createdAt: 0}) 
相關問題