给出以下具有n对m关系的Schemata:
var CampaignSchema = new Schema({
name: { type: String },
players: [{
type: Schema.ObjectId,
ref: 'Player'
}]
});
var PlayerSchema = new Schema({
name: { type: String },
campaigns: [{
type: Schema.ObjectId,
ref: 'Campaign'
}]
});
当我创建/更新Campaign文档时,Player文档应与Campaign模型的player数组保持同步。
我在网络上看到很多使用预保存挂钩的示例,更新相应的播放器以在其广告系列数组中包含/排除此广告系列。
但是,我希望post save hook更适合这种更新,因为我可以确定在更新播放器文档之前模型已成功保存。
所以我的问题是: 在选择前/后保存钩子以保持我的关系同步,或者它是无关紧要的只是品味问题时,我有什么需要考虑的吗?