SailsJS填充通过套接字publishUpdate发送的属性

时间:2014-08-05 17:18:58

标签: javascript node.js socket.io sails.js waterline

我正在使用SailsJS的内置套接字功能,这些功能一直很好用。现在我遇到了一个障碍,我找不到任何信息。

我的模型设置为使用水线模型关联填充一些属性,例如:

getAll: function() {
        return Issue.find()
        .sort('createdAt DESC')
        .populate('author')
        .populate('group')
        .populate('tags')
        .then(function (models) {
            return [models];
        });
    },

通过API调用此方法时,此工作正常。但是,如果通过put进行更新并调用Issue.publishUpdate(id, update);,则会将未填充的属性发送到订阅的客户端。这不是我预期的行为,因为publishCreate,另一方面,发送填充结果。

要解决这个障碍,我可以在发送publishUpdate之前手动填充属性,但这似乎不是使用Sails执行此操作的正确方法?所以在我走这条路之前,我很想听听别人的想法或经历。

Sails v0.10.1

1 个答案:

答案 0 :(得分:0)

蓝图API调用publishUpdate,但它实际上是一个可以在任何地方使用的独立方法:

http://sailsjs.org/#/documentation/reference/websockets/resourceful-pubsub/publishUpdate.html

publishUpdate会广播您传入的数据,因此要广播已填充的数据,您需要将其传入。