2015-06-16 133 views
0

我想從mongo中找到一個文檔,但是findOne()將帶有一個未定義的_id字段的文檔。 爲什麼?貓鼬不檢索_id

var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/school'); 
var Schema = mongoose.Schema; 

var scoreSchema = new Schema({ 
    type: String, 
    score: Number 
}); 

var studentSchema = new Schema({ 
    name: String, 
    scores: [scoreSchema] 
}); 

var mod = mongoose.model('Student', studentSchema); 
mod.findOne(function(err, stud) { 
     console.log('id:' + stud._id); 
}); 

回答

2

您需要傳遞一些信息以在查詢中找到。例如:

mod.findOne({name: 'John'}, function(err, stud) { 
    console.log('id:' + stud._id); 
}); 

請參閱here關於如何在Mongoose中進行查詢。

0

您不查詢任何內容,請在回調前注意{}

mod.findOne({}, function(err, stud) { 
    console.log('id:' + stud._id); 
}); 

您可能想看看Mongoose documentation