当添加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
希望能帮助到你!