当添加filter时,Mongoose find / findOne总是返回null

我有这个问题,过去几天一直在严重困扰。 我有一个nodejs项目的mongoose设置我已经定义了所有的模式和模型,如下所示

 var studentSchema = new Schema({ fullname: {type: String, required: true}, student_id: {type: String, required: true, unique: true}, votingNo: {type: Number, required: true, unique: true}, voted: {type: Boolean, required: true, default: false} }); var Student = mongoose.model('Student', studentSchema, 'student'); 

我导出了模型,并在另一个模块中使用它。 每当我尝试查询结果如下所示:

  model.Student.find({}, function (err, students) { console.log(err); console.log(students); }); 

我得到的结果。 但是现在我添加一个filter,就像这样:

 model.Student.find({student_id: studentId}, function (err, students) { console.log(err); console.log(students); }); 

结果总是一个空数组。

我试过使用findOne()但它总是返回null。

尝试调用这样的查询

 var Student = mongoose.model('Student'); Student.find({}, function (err, students) { console.log(err); console.log(students); }); 

如果不起作用,请在打电话之前添加此信息以确保数据库处于打开状态。

 var mongoose = require('mongoose'); console.log(mongoose.connection.readyState); // Should not return 0 

希望能帮助到你!