首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索deepstream.io中的记录列表

检索deepstream.io中的记录列表
EN

Stack Overflow用户
提问于 2015-06-24 10:34:48
回答 1查看 1.2K关注 0票数 1

我目前正在实现一个简单的聊天,以学习如何使用deepstream.io。有什么简单的方法可以从记录列表中获得间隔吗?想象一下用户希望通过回滚历史记录来获取旧聊天消息的场景。我在文档中找不到这方面的任何信息,而且我没有运气地阅读了源代码。

我的最佳选择是直接针对数据库(例如RethinkDb),还是有一种简单的方法可以通过深河进行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-24 13:38:58

首先,坏消息是:deepstream.io纯粹是一个消息服务器-它不检查通过它传递的数据。这意味着任何类型的查询功能都需要由另一个系统提供,例如连接到RethinkDB的客户端。

话虽如此:有个好消息:

我们还在考虑在应用程序中添加聊天功能(包括广泛的历史记录保存和搜索)。

由于聊天消息是不可变的(一旦发送就不会改变),所以我们将使用深流事件,而不是记录。为了便于聊天历史记录的保存,我们将创建一个“聊天历史提供程序”,这是一个位于深度流和我们的数据库之间的节点进程,并侦听以'chat-'开头的任何事件。(假设您的聊天事件名为chat-<chat-name>/<message-id>,例如chat-idle-banter/254kbsdf-5mb2soodnv)

在一个非常高的层次上,我们的聊天历史提供商将如下所示:

代码语言:javascript
复制
ds.event.listen( /chat-*/, function( chatName, messageData ) {
    //Add the timestamp on the server-side, otherwise people
    //can change the order of messages by changing their system clock
    messageData.timestamp = Date.now();
    rethinkdbConnector.set( chatName, messageData );
});

ds.rpc.provide( 'get-chat-history', function( data, response ){
    //Query your database here
});

目前,深度流只支持“监听”记录,但即将发布的版本将为事件和rpcs提供相同的功能。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31024304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档