Node.js Mongoose-模型的构造函数-并非所有路径都实例化

Node.js Mongoose-模型的构造函数-并非所有路径都实例化,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有以下模式: var CampaignAdvertSchema = new Schema({ name: { type: String }, banner: { type: Schema.ObjectId, ref: "CampaignBanner" } }); var CampaignBannerSchema = new Schema({ image: { type: String } }); var CampaignBanner = mongoose.model

我有以下模式:

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' }
为什么。横幅没有创建?在以前版本的猫鼬,我相信它是创建。。。现在我使用的是猫鼬4.1.12


非常感谢您的活动广告模式:

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

banner需要一个ObjectId,但您正在为其提供整个对象

您可能想签出mongoose的populate()方法。我不是在查询数据库,我只是在创建一个新实例