2014-04-13 128 views
3

我獲取如何使用Node.js和貓鼬像這樣的蒙戈文檔投影MongoDB的「_id」字段:包括與貓鼬

var app = express(); 
var Thread = mongoose.model('threads', schema); 
app.get('/api/closed/all', function(req, res) { 
    Thread.find({ IsCLOSED: true }, function(err, post){ 
     res.send(post); 
    }); 
}); 

但它不返回「_id」字段,我缺少什麼?

在文檔它說,在默認情況下_id應包括

感謝

**編輯**

解決方案:我曾在架構中指定它:

變種schema = new mongoose.Schema({_id:String ........});

+0

您的代碼是正確的,你怎麼知道_id缺失。你會迭代有問題的響應對象和顯示輸出嗎? – Sumeet

+0

查看端點中的答案時,_id不存在,所有其他字段均爲 –

+0

您如何創建_id,其手動創建的ID或mongo是否已爲您創建對象ID? – Sumeet

回答

3

如果手動創建_id不是對象默認情況下,貓鼬假定_id是對象ID。如果您希望能夠手動創建ID,則需要在架構中指定該ID。

如果_id是Number,則必須在模式中明確指定。

schema= new Schema({ 
      _id: Number 
     }), 

var Thread = mongoose.model('threads', schema);