在 mongoose-aggregate-paginate-v2 中排序
Posted
技术标签:
【中文标题】在 mongoose-aggregate-paginate-v2 中排序【英文标题】:Sort in 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);
)
我尝试了很多排序方法,但它根本不起作用
【问题讨论】:
【参考方案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 ,
;
它有效。
【讨论】:
以上是关于在 mongoose-aggregate-paginate-v2 中排序的主要内容,如果未能解决你的问题,请参考以下文章
在 React 应用程序中在哪里转换数据 - 在 Express 中还是在前端使用 React?