我有名为administrator的mongoose架构
var administratorSchema = new mongoose.Schema({
username : String,
password : String,
active : Boolean,
level : String
});
当我尝试这个查询时,我可以得到结果
mongoose.connect('mongodb://'+dbServer+'/'+dbName, function(connectionError) {
var administratorModel = mongoose.model('administrators',administratorSchema);
administratorModel.findOne({_id,111155dffxv}function(err, resad){
console.log('into mongoose findone');
});
});
====> Console output : 'into mongoose findone'
问题是:当我尝试将条件从_id更改为“username”时,mongoose不起作用,findOne不执行:
mongoose.connect('mongodb://'+dbServer+'/'+dbName, function(connectionError) {
var administratorModel = mongoose.model('administrators',administratorSchema);
administratorModel.findOne({'username','mohamed'}function(err, resad){
console.log('into mongoose findone');
});
});
====> Console output : ''
感谢。
答案 0 :(得分:6)
您的查询对象无效(使用冒号而不是逗号),并且您在findOne
参数之间缺少逗号。你的电话应该是这样的:
administratorModel.findOne({'username': 'mohamed'}, function(err, resad){
console.log('into mongoose findone');
});
您还应该检查回调的err
参数,看看是否有效。
不确定为什么它会使用您的_id
条件版本达到回调,因为该版本具有相同的问题。