2017-07-14 74 views
0

我是流星的新手,所以我希望我不要问什么愚蠢的东西。服务器上请求多少个Collection.find()?

我的问题是:当我调用Collection.find()方法时,流星总是会在服务器上做请求吗?或者通过订阅它们将数据提交给客户端,并且每个find()仅从客户端获取数据?

我有一个复杂的文档,我需要一个辅助器来渲染它。我想利用Meteors反应行为的优势来呈现用户对文档所做的更改。我不想将集合传递给会话,并且反应变量不是真正的选项,因为我使用了一对子模板。 谢谢:-)

回答

0

不,find不会触发与服务器的通信。

按照Meteor documentationnew Mongo.Collection

在客户端(如果你指定一个连接的服务器上),创建一个Minimongo实例。 Minimongo本质上是纯JavaScript中的内存中非持久化Mongo实现。它充当本地缓存,仅存储此客户端正在使用的数据库的子集。 对这些集合的查询(查找)直接从此缓存中提供,而无需与服务器通话。