express连接mongodb实现排序,可是点击排序按钮没有变化?

这段代码是获取到排序参数之后,对数据进行排序。sort({panduan:-1}) panduan接收req.body.two传过来的值,这个值分别是这三个like collect time,panduan这个获取是正确的
可是如果这样写的话,数据是不变的,也是没有排序的;
但是如果我直接将panduan改成like这个就是按照like的参数值排序的;
这是为什么?我觉得应该是sort({panduan:-1})panduan这个变量不对,但是什么原因导致的呢?

router.post('/api/list/showlist', (req, res) => {
    //参数
    var sort = req.body.one;
    //排序参数
    var panduan =req.body.two;
    var query = models.home.find({ sort: sort}).sort({panduan : -1});
    query.find(function (err, data) {
        if (err) {
            res.send(err)
        } else {
            res.send(data)
        }
    })
})
阅读 2.6k
1 个回答

你写成这样是对 "panduan"字符串排序 不是用到了 panduan变量
想用变量的话:

var obj = {};
obj[req.body.two] = -1;
//sort这样写
sort(obj)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题