2012-10-10 86 views
0

我有一個名爲貓鼬架構管理員如何貓鼬進行findOne查詢

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到「用戶名」,貓鼬不能工作並且找不到一個執行:

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

可能重複的[如何使用貓鼬findOne](http://stackoverflow.com/questions/7033331/how-to-use-mongoose-findone) – Thomas

回答

6

您的查詢對象無效(使用冒號而不是逗號),並且您在參數findOne之間缺少逗號。您的電話應該是這樣的,而不是:

administratorModel.findOne({'username': 'mohamed'}, function(err, resad){ 
    console.log('into mongoose findone'); 
}); 

您也應該檢查你的回調的err參數,看看是否一切正常。

不確定爲什麼它會與您的_id條件版本達成回調,因爲它具有相同的問題。

+0

謝謝你回答我的問題, –

+0

你必須做的調用findone時總是回調? – Gobliins