MongoDB明显和排序

时间:2017-09-08 18:53:33

标签: javascript mongodb mongoose

我对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。

有人可以帮助我吗?

1 个答案:

答案 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);

  });