2015-10-16 122 views
1

我想基於用戶輸入的變量進行排序。我有這樣的事情:貓鼬變量排序

var find = Record.find(query); 

下面的作品就好了:

find.sort({age: 1}); 

它按年齡。我要做到以下幾點:

find.sort({sortField: 1}); 

我已經試過這還有:

find.sort[sortField] = 1; 

要沒有運氣。任何方式來設置排序與字符串變量傳入?

回答

3

如果您使用節點V4,您可以使用ES6 enhanced literal syntax

find.sort({[sortField]: 1}); 

否則,你需要一對夫婦的步驟,以創建排序對象:

var sort = {}; 
sort[sortField] = 1; 
find.sort(sort); 
0

想通了。由於它是一個函數,因此無法使用find.sort [sortField] = 1表示法,因此需要提前做。

var sort = {}; 
    sort[sortField] = 1; 
    find.sort(sort);