获取错误:使用Sails.js Pub / Sub调用`Model.room(id)`时必须指定`id`

我试图使用发布/子方法,并得到这个错误垃圾邮件:

error: Must specify an `id` when calling `Model.room(id)` 

我的模型看起来像这样:

 module.exports = { tableName: 'accounts', autoPk: false, attributes: { 'id': { type: 'INTEGER', primaryKey: true, columnName: 'id' }, 'alias': { type: 'STRING', required: true } }; 

然后我的控制器方法:

 'subscribe': function(req, res) { Account.find({'select': ['steam_id', 'online']}) .then(function(users) { Account.subscribe(req.socket, users); }) .catch(function(err) { console.log(err); }); } 

最后,我的客户端js订阅:

 socket.on('connect', function connectedToSockets() { console.log('Subscribing'); socket.get('/friends/subscribe'); socket.get('/user/subscribe'); }); 

我不能为了我的生活,弄清楚为什么我被这个错误字面上垃圾邮件,所有的修复说,设置一个列上的PrimaryKey,

我正在使用sails-mysql适配器

谢谢!

所以对任何有这个问题的人,我都明白了:

我没有从订阅中的查询中返回ID,所以当我添加了ID以及错误消失时,我想它只是需要ID作为参考。

 'subscribe': function(req, res) { Account.find({'select': ['id', 'steam_id', 'online']}) .then(function(users) { Account.subscribe(req.socket, users); }) .catch(function(err) { console.log(err); }); } 

这固定它,添加id