mongooseODM是否允许您轻松保存协会的双方?

如果我有两个模型,在Mongoose ODM中有has_many关系。 即。 用户属于团队,团队有许多用户:

 var User = new Schema({ username : {type: String, required: true }, email : {type: String, required: true}, team : { type: Schema.ObjectId, ref: 'Team'}, created_at : {type : Date, default : Date.now}, updated_at : {type : Date, default : Date.now} }); var exports = module.exports = mongoose.model('User', User); 

 var Team = new Schema({ name : {type: String, required: true}, users : [{ type: Schema.ObjectId, ref: 'User'}], created_at : {type : Date, default : Date.now}, updated_at : {type : Date, default : Date.now} }); var exports = module.exports = mongoose.model('Team', Team); 

有没有什么办法告诉Mongoose将user添加到user.save({team: team, ...})上的team.users集合中? 或者我只需要在用户模型中使用save()中间件?

我要问的原因是,这不是Mongoose文档涵盖的用例之一,这个function在rails / mongoid约定中是相当标准的。

要回答你的问题:你必须自己写这个function。

但是,你有没有通过架构devise文档 ? 具体连接vsembedded? 通过文档embedded来实现“has_many”关系通常要容易得多,效率也更高。