2014-11-04 48 views
1

我有一個貓鼬模型,它將成爲我的User模型的子對象。這將是一對多的關係(用戶將有很多塊)。對我而言,在這種情況下,嵌入不是答案。所以我試着給我的Block模型添加一個user_id,並且給我的User模型添加一個block_ids的數組。我的塊如下所示:Mongodb - 映射關係 - 類型Objectid

var mongoose = require('mongoose'); 

module.exports = mongoose.model('Block',{ 
    name:String, 
    status:String, 
    type:String, 
    user_id:String, 
}); 

當我用當前用戶的ID保存新塊時,它不保存該屬性。我認爲這是因爲我已經在架構中聲明它是String類型的,而不是Objectid類型的,但我不確定如何將它聲明爲用戶模型的對象ID。

回答

2

使用Schema.Types.ObjectId而不是字符串

var mongoose = require('mongoose'); 
var Schema=mongoose.Schema; 
module.exports = mongoose.model('Block',{ 
    name:String, 
    status:String, 
    type:String, 
    user_id:Schema.Types.ObjectId 
}); 
+0

你在哪裏得到'Schema'?我得到一個Schema未定義的錯誤。 – Jordan 2014-11-05 20:40:12

+0

哦,我忘了var Schema = mongoose.Schema;現在它是正確的 – kaxi1993 2014-11-06 04:33:43