使用快速路由器时如何实现MongoDB排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用快速路由器时如何实现MongoDB排序相关的知识,希望对你有一定的参考价值。
我试图在Model.find()
中使用MongoDB的默认排序算法之一,但是我无法弄清楚如何以这种方式实现排序功能。我知道它是如何工作的以及如何在mongo命令行中使用它,但无法弄清楚如何在这个庄园中实现它。
这是我到目前为止的代码,它完美地工作并返回我想要的值,但是我现在想要实现我在mySort
中存储的排序来对返回的数据进行排序。
const express = require('express'),
router = express.Router(),
House = require('../models/house'),
Event = require('../models/event');
router.get('/', function(req, res){
var mySort = {totalPoints: -1};
House.find({}, function(err, houses){
if(err){
console.log(err);
res.redirect('/error');
} else {
res.render('houses/index', {pageTitle: 'Houses', houses: houses});
}
});
});
module.exports = router;
我希望houses
将以totalPoints
的降值值返回庄园。
答案
试试这个语法:
House
.find()
.sort("-totalPoints") // or { "totalPoints" : -1 }
.exec( houses => ... )
或者使用async / await:
const houses = await House.find().sort("-totalPoints")
以上是关于使用快速路由器时如何实现MongoDB排序的主要内容,如果未能解决你的问题,请参考以下文章