Node.js 使用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:

我正在尝试对MongoDB数据进行排序。我有一个如下所示的租赁模式,其中包括一个“特色”项目。如果特色项目设置为true(用户可以自行完成),我希望特色项目显示在剩余租金之上。换句话说,我需要对具有featured=true的mongo数据进行排序

我将如何更改下面的代码来执行此操作

这是我的租赁模式:

var rentalsSchema = new mongoose.Schema({
    featured: {
        type: Boolean,
        default: false
    },
    Title: String,
});
以下是我迄今为止尝试过的方法(但不起作用)。

.sort({featured:1})
更改为
.sort({featured:-1})
。您希望那些具有
特征的
值为
true
的人排在那些具有false
false
的人之前


看起来布尔字段的默认排序从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) {

    });
});