gpt4 book ai didi

node.js - 在 Mongoose 中使用跳过后无法对数据进行排序

转载 作者:可可西里 更新时间:2023-11-01 10:00:04 24 4
gpt4 key购买 nike

这是我正在使用的查询:-

 var retrieveQuery = function(callback){
Product.find(qry).skip((pageNumber-1)*12).sort({sortby: -1}).limit(12).exec(function(err, doc){
if(err){ callback(err, null) }
else{
callback(null, doc);
}
});

};

这里qry让qry=JSON.parse(decodeURIComponent(req.params.query));
我发送 url 作为 /p3nhv/%7B %7D/lastEdit/1 表示 /:token/:query/:sortby/:page我得到的结果是未排序的,
疑问:

  1. 它是对整个数据进行排序还是对我检索的唯一特定数据集进行排序?
  2. 跳过排序中包含的数据集?

这是我的 mongo 数据:-

{
"_id": {
"$oid": "5a71eb6339add500269e4be1"
},
"editTime": {
"$date": "2018-01-31T16:14:27.000Z"
},
"userName": "Some Name",
"userId": {
"$oid": "5a0def6859465800269e9b5e"
},
"city": {
"$oid": "5a0969adca18d8fd03d57d2c"
},
"college": {
"$oid": "5a0969adca18d8fd03d57d2c"
},

"lastEdit": {
"$date": "2018-01-31T16:14:27.605Z"
},
"productDescription": "test test test test test test test test test test test test test test test test ",
"pageView": 0,
"time": {
"$date": "2018-01-31T16:14:27.605Z"
},
"__v": 0

正在按 lastEdit 排序 不知道我做错了什么一切看起来都很好任何帮助都会很棒,谢谢

最佳答案

排序将在应用 skiplimit 之前进行,但您目前正在按名为“sortby”的(不存在的)字段而不是sortby包含 的字段名称。

改用计算属性语法:

.sort({[sortby]: -1})

或者使用 Mongoose 支持的基于字符串的替代排序语法:

.sort('-' + sortby)

关于node.js - 在 Mongoose 中使用跳过后无法对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48547887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com