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”关系通常要容易得多,效率也更高。