无arraysmongoose的子模式

所以,我想知道,即使我明白你不能创build一个单独的子文档,我仍然想创build一个子文档,以便我可以正确使用默认和其他mongoosetypes,有没有办法仍然这样做一个东西?

例如 :

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} }); 

embedded式对象的模式需要使用普通对象来定义,所以如果你想保持定义分离,你可以这样做:

 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 });