我对app有一个问题。
当我调用sort方法时它运行正常,但当我调用distinct时,当我调用两个返回已排序但不调用distinct时返回undefined。
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。
有人可以帮助我吗?
答案 0 :(得分:0)
Mongoose文档声明排序不能与不同一起使用: mongoosejs.com/docs/api.html
您可以尝试使用 distinct 执行查询,然后在返回的数组上使用JavaScript sort 方法。
也许是这样的:
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);
});