从 Sails 模型获取旧记录

Getting old records from Sails Models

我实际上正在尝试使用 Sails.js websockets 建立一个完整的 chat 但我遇到了一些麻烦。

当新客户端连接到聊天室时,我成功发送和接收新消息,但我希望新客户端获取旧消息(比如最后发送的 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);
    }
};

我有关于在我的模型上使用 "find" 函数的想法,但不是真正的结论。

我希望我没有错过关于 Sails 可能性的重要内容!

需要您的帮助:)谢谢!

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')[=时没有收到任何信息15=]

/* 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]);
    }
});