meteor 关于methods和pub/sub的思考
一.pub/sub
由于autopublish的思路是把数据库中的数据完全发送到miniMongo。当数据库中数据非常多时,autopublish机制就会出现问题:miniMongo的压力大、数据传输的时间成本高、数据不安全。
订阅发布:server端需要定义发布哪些数据,client端需要进行数据的接收,这个过程就是数据的发布订阅。
autopublish相当于把数据库的内容完全镜像到了miniMongo;而发布订阅相当于在数据库和miniMongo间搭建了一条条通道,通过这些管道,把客户端需要的数据从数据库传到miniMongo,供客户操作。
例:
首先移除autopublish:meteor remove autopublish
1.imports/api/tasks.js
2.server/main.js
3.App.js
二.methods
在Meteor中,从客户端想服务器发送数据非常简单,我们只需要调用集合对象进行数据操作,Meteor会自动进行miniMongo和服务器端数据库的同步。但在web开发中,永远不要相信来自用户数据,用户提交过来的每一条数据都必须经过验证,在客户端验证是不可靠的,因为通过浏览器的控制台可以绕过任何验证。
Meteor提供了一个methods机制,在客户端发起嗲用,在客户端执行,然后也会在服务端执行。
例:首先meteor remove insecure
1.imports/api/taska.js
2.server/main.js
3.App.jsx
三.在博客中看到有人这样写(如下图)感觉很有道理。
个人理解发布订阅只推送系统加载时必须用到的数据,而不是必要的数据则用methods来进行数据查询,提高系统性能。