2017-09-08 8 views
0

私はアプリで1つの問題があります。MongoDB別名とソート

私はソートメソッドを呼び出すとき、それは正常に実行されますが、私は別名を呼び出すと、私は両方の戻り値を呼び出すときに未定義を返します。

controller.listaClientes = function(req, res) {  

var filtro = {}; 

Cliente.find(filtro)  
.sort([['regional', 'desc']]) 

.exec() 
.then(
    function(listagem) { 
    res.json(listagem); 
    }, 
    function(erro) { 
     console.log(erro); 
     res.status(500).json(erro); 
     } 
); 

}

私はプロジェクトを続けており、moongoseを使用しています。

誰かが私を助けることができますか?

+1

は、あなたの 'distinct'コールの例を与えることができますか? –

+0

Mongooseのドキュメントから、** sort **は** distinct **と一緒に使用できません:http://mongoosejs.com/docs/api.html –

答えて

0

マングースのドキュメントがソート明確なで使用することはできませんと述べている: mongoosejs.com/docs/api.html

あなたは明確なを使用してクエリを実行しようとした後、返された配列にはJavaScript ソートメソッドを使用することができます。

おそらく、このような何か:

Cliente.find(filtro)  
    .distinct('field') // Amend to desired field 
    .exec() 
    .then(function(listagem) { 

    // Sort the returned array here 
    listagem.sort(function(a, b) { 
     // Assuming 'listagem' is an array of objects 
     // ...where you want to sort on the 'regional' property 
     return a.regional < b.regional; 
    }); 

    res.json(listagem); 

    },function(erro) { 

    console.log(erro); 
    res.status(500).json(erro); 

    });