【问题标题】:Mongoose pre or post save hook for updating the relations?Mongoose 用于更新关系的 pre 或 post 保存钩子?
【发布时间】:2014-11-30 09:07:47
【问题描述】:

给定以下具有 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 数组保持同步。

我在网上看到了很多使用 pre save hook 的例子,更新相应的玩家以在他们的活动数组中包含/排除这个活动。

但是,我希望 post save 挂钩更适合进行此类更新,因为我可以确定在更新播放器文档之前已成功保存模型。

所以我的问题是: 在选择前/后保存挂钩以保持我的关系同步时,我有什么需要考虑的吗?还是无关紧要,只是个人喜好问题?

【问题讨论】:

    标签: node.js mongodb mongoose relationship middleware


    【解决方案1】:

    我遇到了同样的问题,在自己实施解决方案后,我最终遇到了循环依赖问题。看看这个package,它轻松解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      • 2015-10-27
      • 2018-11-17
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多