【问题标题】:Sort in mongoose-aggregate-paginate-v2在 mongoose-aggregate-paginate-v2 中排序
【发布时间】:2020-11-29 20:21:37
【问题描述】:

我正在使用 mongoose-aggregate-paginate-v2

排序不起作用

var aggregate = searchmodel.aggregate()
aggregate.match({ word: { $regex: `.*${word}.*` } })
  .group({
    _id: '$user_id', doc: { $first: '$$ROOT' }
  })
var options = {
  page: page, limit: 50, sort: { createdAt: -1 }
}
searchmodel.aggregatePaginate(aggregate, options).then(function (results) {
  return res.json(results)
}).catch(function (err) {
  console.log(err);
})

我尝试了很多排序方法,但它根本不起作用

【问题讨论】:

    标签: node.js sorting mongoose aggregate pagination


    【解决方案1】:

    你应该写,

    var aggregate = searchmodel.aggregate()
    aggregate.match({ word: { $regex: `.*${word}.*` } })
      .group({
        _id: '$user_id', doc: { $first: '$$ROOT' }
      })
    var options = {
      page: page, limit: 50, sort: { createdAt: 'desc' }
    }
    searchmodel.aggregatePaginate(aggregate, options).then(function (results) {
      return res.json(results)
    }).catch(function (err) {
      console.log(err);
    })
    

    【讨论】:

      【解决方案2】:

      其实我找到了解决问题的办法。 您需要将 _id 添加到排序对象。

      例子:

        const options = {
          page: page,
          limit: limit,
          sort: { _id: 1, createdAt: -1 },
        };
      

      它有效。

      【讨论】:

        猜你喜欢
        • 2020-08-07
        • 2021-11-10
        • 2020-11-03
        • 2023-01-05
        • 2022-10-03
        • 2016-01-08
        • 2021-08-19
        • 2015-07-14
        • 1970-01-01
        相关资源
        最近更新 更多