在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/人工智能  數據庫  網絡安全  HTML/ mongoose查詢如何在一個sort條件之上再進行一次sort?

mongoose查詢如何在一個sort條件之上再進行一次sort?

我現在通過mongoose查詢得到的一組集合類似這樣:

[{
    _id: "123456",
    sex: 0
},{
    _id: "222222",
    sex: 1
},{
    _id: "111111",
    sex: 1
},{
    _id: "333333",
    sex: 0
}]
我希望能得排序成這樣:

[{
    _id: "123456",
    sex: 0
},{
    _id: "333333",
    sex: 0
},{
    _id: "111111",
    sex: 1
},{
    _id: "222222",
    sex: 1
}]

即在 sex 升序的條件下, _id 再升序。

按照這個一樣問題(https://segmentfault.com/q/10...)給的答案使用sort(條件1,條件二)語句,不能正確的返回結果,mongoose的sort()并不能執(zhí)行按照多個條件排序。

所以想再問問有木有什么方法能夠查詢的時候實現這個效果?或者說有木有什么比較好的算法可以實現的?

感謝各位

回答
編輯回答
不二心

搜了一些資料,應該是沒有這種寫法。我做的就是從數據庫取的時候是按照第一個排序條件,拿出數據之后,自己又寫了一個排序的函數,針對第二個條件進行排序。

2017年5月31日 13:18
編輯回答
眼雜
var arr=[{
    id: 123456,
    sex: 0
},{
    id: 222222,
    sex: 1
},{
    id: 111111,
    sex: 1
},{
    id: 333333,
    sex: 0
}];

arr.sort(function (a, b) {
   if(a.sex===b.sex){
       return a.id-b.id
   } else{
       return a.sex-b.sex
   }
});
2018年3月29日 21:00