Node.js 使用WebSocket过滤和排序结果?

Node.js 使用WebSocket过滤和排序结果?,node.js,websocket,socket.io,Node.js,Websocket,Socket.io,我对node.js和socket.io都是新手,但我已经构建了一个websocket端点,它将简单数据推送到前端 示例: { 姓名:“鲍勃”, 眼睛:“绿色”, 分数:100,, fav:“真的” } 使用node.js/socket.io很简单(很简单!!),但我的问题是: 在推送到客户端之前,是否有方法对数据进行过滤和/或排序?我意识到我可以在浏览器中使用JS来实现这一点,但如果我有600人被推送,而最终用户只想要有“绿色”眼睛的人,那么将550个没有绿色眼睛的用户推到浏览器上,然后将他们去

我对node.js和socket.io都是新手,但我已经构建了一个websocket端点,它将简单数据推送到前端

示例:
{
姓名:“鲍勃”,
眼睛:“绿色”,
分数:100,,
fav:“真的”
}

使用node.js/socket.io很简单(很简单!!),但我的问题是:


在推送到客户端之前,是否有方法对数据进行过滤和/或排序?我意识到我可以在浏览器中使用JS来实现这一点,但如果我有600人被推送,而最终用户只想要有“绿色”眼睛的人,那么将550个没有绿色眼睛的用户推到浏览器上,然后将他们去掉,这似乎是一种浪费。

经过大量的研究和玩后,我得出结论,实现这一点的最佳方法是为每个过滤点设置套接字“通道”。以我最初的帖子为例,我会为绿、蓝、棕色(等等)眼睛设置一个频道,然后根据用户的需求订阅该频道。然后在客户端进行过滤,以确保在列表/网格中没有重复显示。

我知道这已经相当老了,所以只是想知道您是否仍然认为这是最好的方法?IMO,它是。这个问题是基于我当时正在从事的一个项目,它作为实时数据源在我们公司取得了巨大的成功。频道运行良好,最终用户喜欢通过订阅和取消订阅频道来控制数据范围。