如何执行查询?

时间:2019-04-28 21:23:12

标签: mongoose

我想显示数据库中“率”最高的前10个用户。我在猫鼬文档中找不到关于查询的很多信息。

我有一个用户模式

  const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema =  new Schema({
firstname: {
    type: String,
    required: true
},
lastname: {
    type: String,
    required:true
},
age: {
    type: Number,
    required:true
},
occupation: {
    type: String,
    required:true
},
city: {
    type: String,
    required: true
},
county: {
    type: String,
    required:true
},
country: {
    type:String,
    required: true,
},
email: {
    type: String,
    required:true
},
password: {
    type: String,
    required:true
},
imageUrl: {
    type: String,
    required:true
},
rate:{
    type:Number,
    required:true
}
});

module.exports = mongoose.model('User', userSchema);

但是在我的控制器中,在我的功能上,我不知道如何查询速率最高的前10个用户,您能帮我吗?现在,我只是User.find(),因为在猫鼬文档中找不到太多有关此内容的信息,或者也许我不知道要搜索什么。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试

User.find({}, {}, {sort: { 'rate' : -1 }}).limit(10)
.then(result => {
    // do what you want.
})
.catch(err => {
    // handle error
});