所以,我想知道,即使我知道你不能创建一个子文档,我仍然想创建一个子文档,以便我可以正确使用默认和其他猫鼬类型,有没有办法还是做这样的事情吗?
例如:
var SomeOtherScheme = new Schema({
a : { type:String, default:'test' },
b : { type:Boolean, default:false }
...
});
var GroupSettings = new Schema({
x : { type:Number, default:20 },
y : { type:Boolean, default:false },
...
else : { type:SomeOtherScheme, default:SomeOtherScheme }
});
var Group = new Schema({
name : { type:String , required:true, unique:true},
description : { type:String, required:true },
...
settings : {type:GroupSettings,default:GroupSettings}
});
答案 0 :(得分:1)
嵌入对象的模式需要使用普通对象进行定义,因此如果要将定义分开,可以按以下方式进行:
var SomeOther = {
a : { type:String, default:'test' },
b : { type:Boolean, default:false }
...
};
var SomeOtherSchema = new Schema(SomeOther); // Optional, if needed elsewhere
var GroupSettings = {
x : { type:Number, default:20 },
y : { type:Boolean, default:false },
...
else : SomeOther
};
var GroupSettingSchema = new Schema(GroupSettings); // Optional, if needed elsewhere
var GroupSchema = new Schema({
name : { type:String , required:true, unique:true},
description : { type:String, required:true },
...
settings : GroupSettings
});