Websocket Sails发布(更新)系统不会传播到关联

Websocket Sails发布(更新)系统不会传播到关联,websocket,associations,sails.js,Websocket,Associations,Sails.js,我们正在sails 0.10.5上构建实时Web应用程序。我们有很多模型通过协会联系在一起。例如,我们有一个用户模型和一个帖子模型,其中一篇帖子总是有一个用户 populate确保在获取用户时,我们也可以获得帖子。我们使用sails控制器中的subscribe和watchmodel方法告诉(websocket)客户端有关更新的信息 但是,每当websocket客户端同时监视用户模型(watch和subscribed给所有用户)和Post模型(watch)。并且创建了一个新的帖子(例如通过另一个套

我们正在sails 0.10.5上构建实时Web应用程序。我们有很多模型通过协会联系在一起。例如,我们有一个用户模型和一个帖子模型,其中一篇帖子总是有一个用户

populate
确保在获取用户时,我们也可以获得帖子。我们使用sails控制器中的
subscribe
watch
model方法告诉(websocket)客户端有关更新的信息

但是,每当websocket客户端同时监视用户模型(
watch
subscribe
d给所有用户)和Post模型(
watch
)。并且创建了一个新的帖子(例如通过另一个套接字),我们的客户机只接收一个新的帖子事件,而用户也发生了变化(间接通过关联)


我们如何确保我们的客户也能获得这些更新?基本上,我们需要一种方法来将任何填充模型的结果同步到我们的客户。

我不确定这是否是最好的方法,但可以做到: 基本上,无论何时更新帖子,都可以发布用户“更新”事件


大量开销:在sails中无法查看发生了什么变化,如果关系是一对多或多对多,那么这将发布大量更新,其中大部分是错误的。更好的解决方案是使用添加到事件和从事件中删除的(没有很好的文档记录),请注意,您只能对已更改的assoc使用这些,而不能对assoc数据进行更改。
// Post.js
module.exports = {

  attributes: {
    title: 'string',
    owner:{
        model:'user'
    }
  },

  afterUpdate: function(post, cb){

    User.publishUpdate(post.owner, {/* props you want to send */});
    cb();

  }
};