2015-10-25 32 views
0

我有以下模式:貓鼬 - 模型的構造 - 不是所有的路徑都被實例化

var CampaignAdvertSchema = new Schema({ 
    name: { type: String }, 
    banner: { type: Schema.ObjectId, ref: "CampaignBanner" } 
}); 

var CampaignBannerSchema = new Schema({ 
    image: { type: String } 
}); 

var CampaignBanner = mongoose.model("CampaignBanner", CampaignBannerSchema); 
var CampaignAdvert = mongoose.model("CampaignAdvert", CampaignAdvertSchema); 

當我這樣做:

var add = new CampaignAdvert({ name: 'aaaaa', banner: { image: "aa" } }); 

console.log(add); 

這是印刷:

{ _id: 562cb14452731c0808d5d1b8, name: 'aaaaa' } 

爲什麼.banner沒有創建?在貓鼬的早期版本中我肯定它是否被創建。現在我使用的貓鼬4.1.12

非常感謝

+0

您可能需要簽出mongoose的populate()方法。 – pro

+0

我不查詢數據庫,我只是創建一個新的實例 – nemo

回答

0

在你campaignAdvert模式:

banner: { type: Schema.ObjectId, ref: "CampaignBanner" } 

旗幟期待一個ObjectId,但是你要給它整個對象。