从风帆模型公司拿旧唱片



我实际上试图建立一个完整的聊天Sails.js websockets,但我面临一些麻烦。

当新客户端连接到聊天时,我成功发送和获取新消息,但我将新客户端获取旧消息(如在聊天中发送的最后20条消息)。

Message.js(模型)

module.exports = {
  attributes: {
    name    : { type: 'string' },
    message : { type: 'string' }
  }
};

MessageController.js(控制器)

module.exports = {
    new: function(req, res) {
        var data = {
            name: req.param('name'),
            message: req.param('message'),
        };      
        Message.create(data).exec(function created(err, message){
            Message.publishCreate({id: message.id, name: message.name, message: message.message});
        });
    },
    subscribe: function(req, res) {     
        Message.watch(req);
    }
};

我有一个关于在我的模型上使用"查找"功能的想法,但不是真正的结论。

我希望我没有错过什么关于风帆的大可能性!

需要你的帮助:)谢谢!

Message.find({sort: 'createdAt ASC'}).exec(function(err, results) {
  //results is an array of messages
});
http://sailsjs.org/documentation/concepts/models-and-orm/query-language

我将此代码添加到我的订阅函数,但我没有收到任何在我的客户端监听on('message')

/* Get the last 5 messages */
Message.find({sort: 'createdAt DESC'}).limit(5).exec(function(err, messages) {
    for (var i = 0; i < messages.length; i++) {
        sails.sockets.broadcast(req.socket, 'message', messages[i]);
    }
});

最新更新