试图在单独的模型中使用模式

在mongoose和nodeJs中使用模式的正确方法是什么,例如我有一个User,Schema A和Schema B,A被embedded到B和B中

A = module.exports= new Schema({ _id : false, name: { type: String, required: '{PATH} is required.' } }); B = module.exports= new Schema({ _id : false, name: { type: String, required: '{PATH} is required.' }, b1 : [A], b2 : [A] }); module.exports.User = mongoose.model('User', new Schema({ id: ObjectId, firstName: { type: String, required: '{PATH} is required.' }, lastName: { type: String, required: '{PATH} is required.' }, email: { type: String, required: '{PATH} is required.', unique: true }, password: { type: String, required: '{PATH} is required.' }, b: [B] })); 

所以当用户注册时,我创build一个新的模型

 var user = new models.User({ firstName: req.body.firstName, lastName: req.body.lastName, email: req.body.email, password: hash, }); user.save(function(err) {} 

我可以像这样创build用户吗?或者我必须添加a=[], b=[]还是可以在以后添加这些字段?

然后,我实际上在nodeJS中使用架构,如果我尝试将它们导出为模型,我在我的模型中得到一个错误,所以有什么工作是创build一个对象A

 Var a ={ name:"name" }; models.User.findOneAndUpdate( user.email, {$push: {"ba":a}}, {safe: true, upsert: true}, function(err, model) { console.log(err); } ); 

但就我的A和B模式而言,它是死代码,我根本没有使用它,我是新来的mongo和mongoose,也节点,所以它是一个自我学习练习,所以任何意见,如果我是这样做是正确的,非常感谢。