我正在使用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
答案 0 :(得分:0)
蓝图API调用publishUpdate,但它实际上是一个可以在任何地方使用的独立方法:
http://sailsjs.org/#/documentation/reference/websockets/resourceful-pubsub/publishUpdate.html
publishUpdate会广播您传入的数据,因此要广播已填充的数据,您需要将其传入。