如果我有两个模型,在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
添加到team.users
上的user.save({team: team, ...})
集合中?或者我只需要在用户模型中使用save()
中间件?
我问的原因是,这不是Mongoose文档所涵盖的用例之一,这个功能在rails / mongoid约定中是相当标准的。
答案 0 :(得分:0)
回答你的问题:你必须自己编写这个功能。
但是,你经历过schema design doc吗?特别是链接与嵌入?通过文档嵌入实现“has_many”关系通常更容易,更有效。