为什么在服务器文件夹中的main.js文件之外创建集合?

时间:2018-03-28 23:58:20

标签: meteor collections

据我所知,mongo集合应存储在后端,并应根据请求将数据提供给前端。在文档(https://www.meteor.com/tutorials/blaze/collections)中,它说要创建一个导入文件夹(我已经拥有)并在那里调用它。为什么在服务器文件夹之外创建集合?我之前创建了一个流星应用程序,并且在第一次加载页面时结果非常慢,但在访问其他页面时速度很快。我认为这是通过调用导入文件夹中的整个集合来实现的。

1 个答案:

答案 0 :(得分:1)

确保您了解集合对象与数据之间的区别。

前者只是一个容器。在Meteor中,您在服务器和客户端中使用相同的代码,但它实际上的行为略有不同:在服务器上,集合访问您的完整Mongo数据库,而在客户端,它只访问您的客户端Minimongo。

然后通过发布和订阅将数据从服务器复制到客户端。只要您保留autopublish包进行原型设计,它就会为您发布和订阅您的整个数据,因此您无需管理pub / sub,并且您可能认为所有数据始终完全复制到客户端。由于您传输了所有数据,这也会使您的初始页面加载时间过长。

因此,您现在应该停止使用autopublish包并开始管理pub / sub。