Node.js 使用Mongo进行排序
我正在尝试对MongoDB数据进行排序。我有一个如下所示的租赁模式,其中包括一个“特色”项目。如果特色项目设置为true(用户可以自行完成),我希望特色项目显示在剩余租金之上。换句话说,我需要对具有featured=true的mongo数据进行排序 我将如何更改下面的代码来执行此操作 这是我的租赁模式:Node.js 使用Mongo进行排序,node.js,mongodb,sorting,express,mongoose,Node.js,Mongodb,Sorting,Express,Mongoose,我正在尝试对MongoDB数据进行排序。我有一个如下所示的租赁模式,其中包括一个“特色”项目。如果特色项目设置为true(用户可以自行完成),我希望特色项目显示在剩余租金之上。换句话说,我需要对具有featured=true的mongo数据进行排序 我将如何更改下面的代码来执行此操作 这是我的租赁模式: var rentalsSchema = new mongoose.Schema({ featured: { type: Boolean, default:
var rentalsSchema = new mongoose.Schema({
featured: {
type: Boolean,
default: false
},
Title: String,
});
以下是我迄今为止尝试过的方法(但不起作用)。
将.sort({featured:1})
更改为.sort({featured:-1})
。您希望那些具有特征的值为true
的人排在那些具有falsefalse
的人之前
看起来布尔字段的默认排序从false变为true(可能是因为0和1的数值,以及默认的升序)。要演示这一点,请打开Chrome开发工具控制台,输入[true,false,false,true].sort()
,结果是[false,false,true,true]
1代表asc-1代表降序,因此如果您想在Begining时使用值1作为特征,则应将sort对象替换为{featured:-1}。我会试试看,然后回来。非常感谢。工作得很好。非常感谢。
router.get('/rentals', function(req, res) {
db.collection('rentals').find().sort({
featured: 1
}).toArray(function(err, items) {
});
});