我正在研究返回搜索结果的最佳实践。我有一个搜索页面,该页面订阅了一个基于多个字段中搜索的正则表达式查询返回查找的发布。这将被放入客户端的minimongo集合中。
此时,正在处理的方式是从订阅设置方面。我的问题是,是否应该在客户端完成对后端预加载结果的过滤,或者是否应该发回查询。
示例:
鉴于一系列水果,我想找到所有颜色都是红色的。服务器返回这个,但我有基于结果的方面。所以,我有一个草莓,苹果,樱桃等的复选框。如果我点击樱桃的复选框,我应该过滤当前的minimongo集合,还是应该重新查询?
逻辑上,我已经拥有了我可以过滤的所有需要的项目,所以我不确定为什么我需要点击后端。我唯一应该点击后端的是,如果在搜索中,我输入一个新的查询(例如蓝色),并且方面得到适当的重新完成
答案 0 :(得分:0)
如果您的原始搜索返回所有匹配文档,则可以在您的minimongo查询中添加标准 if 返回其他条件的字段与原始搜索。
OTOH如果原始搜索返回分页列表或仅返回前N个结果,或者如果未包含所需的密钥,那么您希望继续在服务器上进行搜索。
在传统的请求 - 响应系统中,您可能还希望每次查询基础数据是否正在快速变化(例如:预订系统)。使用Meteor,pub-sub的被动特性意味着客户端上的数据会通过DDP over WebSocket上的添加/更改/删除不断刷新。