gpt4 book ai didi

node.js - 排序在 mongodb 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:39 24 4
gpt4 key购买 nike

我的脚本:

function getAllExperiences(){
return new Promise(function(resolve,reject){
var perPage = 10
var page = req.params.page || 1
var type = req.body.type;
var sortAs = req.body.sortAs;
Experiences
.find({status:'live'})
.sort({type:sortAs})//,{duration:durationValue}
.skip((perPage * page) - perPage)
.limit(perPage)
.exec(function(err, results) {
Experiences.count().exec(function(err, count) {
if (err)
{
reject(err);
}else{
var obj =
{
experiences: results,
current: page,
pages: Math.ceil(count / perPage)
};
resolve(obj);
}
})
})
});
}

我正在排序。 价格时长评分当我设置时

var type = 'price';
var sortAs = -1;

如果我设置

var type = 'price';
var sortAs = 1;

如果我设置

var type = 'duration';
var sortAs = -1;

var type = 'duration';
var sortAs = 1;

所有条件都给出相同的结果。我的东西类型不接受。我究竟做错了什么。

最佳答案

function getAllExperiences(){
return new Promise(function(resolve,reject){
var perPage = 10
var page = req.params.page || 1
var type = req.body.type;
var sortAs = Number(req.body.sortAs);
var sort = {};
sort[type] = sortAs;
Experiences
.find({status:'live'})
.sort(sort)//,{duration:durationValue}
.skip((perPage * page) - perPage)
.limit(perPage)
.exec(function(err, results) {
Experiences.count().exec(function(err, count) {
if (err)
{
reject(err);
}else{
var obj =
{
experiences: results,
current: page,
pages: Math.ceil(count / perPage)
};
resolve(obj);
}
})
})
});
}

关于node.js - 排序在 mongodb 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49422109/

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