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来进行数据查询,提高系统性能。


猜你喜欢

转载自blog.csdn.net/nieji3057/article/details/80573208
今日推荐