0

这可能是一个很容易回答的问题,因为它可能只是我缺乏理解,但是如果您必须运行两次查询 - 一次在服务器上,一次在客户端上 - 为什么不只发布所有收集数据,并且然后只在客户端上运行一个查询?

显然我的意思不是为用户集合这样做,但是如果你有一个博客帖子集合,这不是有益的吗?

发布所有帖子数据,然后订阅它并在客户端上运行任何必要的查询来获取您需要的数据。

4

1 回答 1

4

发布一切对“开发”环境有好处,因为流星autopublish默认添加,但这在“生产”环境中有一些谬误。我觉得这两点很重要

  1. 安全性:这个想法是,只向客户端提供所需的数据。您永远无法信任客户,您也不知道客户可能会将这些数据用于什么目的。对于您的用例,简单的博客文章,这可能不是一个严重的风险,但可能是电子商务应用程序的一个关键风险。最后一件事,你想要的是黑客使用数据并利用代码中的错误来做讨厌的事情。
  2. 数据开销:对于订阅,通常waitOn使用。因此,在所有数据都可供客户端使用之前,不会呈现模板。如果您有大量数据,则渲染将花费大量时间。因此,建议将数据保持在“仅需要什么”阶段以优化此时间。
于 2016-09-07T07:57:44.793 回答