使用 express router 时如何实现 MongoDB 排序
How to implement a MongoDB sort when using express router
我正在尝试在 Model.find()
中使用 MongoDB 的一种默认排序算法,但是我不知道如何以这种方式实现排序功能。我知道它是如何工作的以及如何在 mongo 命令行中使用它,但不知道如何在这个庄园中实现它。
这是我目前的代码,它运行良好并且 returns 我想要的值,但是我现在想实现我存储在 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")
我正在尝试在 Model.find()
中使用 MongoDB 的一种默认排序算法,但是我不知道如何以这种方式实现排序功能。我知道它是如何工作的以及如何在 mongo 命令行中使用它,但不知道如何在这个庄园中实现它。
这是我目前的代码,它运行良好并且 returns 我想要的值,但是我现在想实现我存储在 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")