mongoDB排序不适用于skip和limit



我正在使用查询从mongoDB集合中查找产品。我在skip((和limit((中使用了不同的查询过滤器。每当我使用sort时,一切都很好,因为它没有对记录进行排序;asc";以及";desc";顺序

这是我的代码

Products.find(filter)
.sort({ column: order })
.skip(parseInt(pageNumber, 10) * parseInt(nPerPage, 10))
.limit(parseInt(nPerPage, 10));

您的代码将根据名为"列";,您需要提供动态属性。

下面是一种创建具有动态属性的排序对象,然后在查询中使用它的方法。

let sort = {};
sort[column] = order;
Products.find(filter)
.sort(sort)
.skip(parseInt(pageNumber, 10) * parseInt(nPerPage, 10))
.limit(parseInt(nPerPage, 10));

你也可以试试这种方法:

Products.find(filter)
.sort({[column]: order })
.skip(parseInt(pageNumber, 10) * parseInt(nPerPage, 10))
.limit(parseInt(nPerPage, 10));

您是否使用了类似.sort({name:1}(的{column_name:1,-1}?

最新更新