第一章 Meteor 集合.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Meteor 集合 集合 在第⼀章我们提到了 Meteor 的核⼼功能, 那就是服务器端和客户端的⾃动数据同 步 在这⼀章我们要仔细了解⼀下它是如何运作的,以及研究那个让它得以运⾏的关键技 术: Meteor 集合 (Collection ) 集合是⼀个特殊的数据结构,它将你的数据存储到持久的、服务器端的 MongoDB 数 据库中,并且与每⼀个连接的⽤户浏览器进⾏实时地同步 我们想让我们的 post 永久保存并且要在⽤户之间共享,所以我们⼀开始要新建⼀个叫 做 Posts 的 collection 来保存它们 我们现在做⼀个社交新闻应⽤, 所以第⼀件事⼉就是做⼀个⼈们贴上来的帖⼦的连接 列表 我们叫它 post 很⾃然, 我们需要把它们存起来 Meteor 捆绑了 MongoDB 运⾏在服务器上作为持 久化存储 因此,尽管⼀个⽤户在浏览器上有各种状态(⽐如他们正在阅读哪⼀页, 或者正在输 ⼊那⼀条评论) , ⽽服务器上,尤其是 Mongo ,保存的是永久保留的⼀致数据 说到 ⼀致, 我们是指对于所有⽤户来说都是⼀样的数据: 每个⽤户也许在看不同的页⾯, 但是帖⼦ Post 的主列表对所有⽤户来说却始终是⼀样的 这些数据在Meteor 中被存储在集合 (Collection )中 集合是⼀种特殊的数据结构, 通过发布 (publications )和订阅 (subscriptions )机制把数据实时同步上⾏或者下⾏到 连接着的各个⽤户的浏览器或者Mongo数据库中 让我们看看如何做到的 我们希望我们的帖⼦Post可以持久存储并分享给⽤户们, 所以我们⼀开始就要建⽴⼀ 个叫 Posts 的集合来存储他们 如果你还没有在根⽂件夹建⽴⼀个叫做 collections/ 的⽂件夹, 并在⾥⾯放⼀个 posts.js 的⽂件的话,那现在就加 上 Posts = new Mongo.Collection(posts); 增加⼀个 post 集合 代码所在的⽬录既不是 client/ 也不是 server/ 所以 Posts 会共同存在运⾏在服 务器和客户端 然⽽,这个集合的使⽤在两种环境下⼗分不同 要 Var 还是不要 Var? 在 Meteor 中,关键字 var 限制对象的作⽤域在⽂件范围内 我们想要 Posts 作⽤ 于整个应⽤范围内,因此我们在这⾥不要 Var 这个关键字 存储数据 ⽹络应⽤有三种基本⽅式保存数据,各种⽅式有不同的⾓⾊: 浏览器内存:像 JavaScript 变量的这些数据会保存在浏览器内存中,意味着他 们不是永久性的:它们存在于当前浏览器标签中,当标签关闭后它们会消失 浏览器存储:浏览器也可存储较为永久性的数据,使⽤ cookies 或本地存储 Local Storage 虽然数据会在不同 session 间保持,但是只是针对于当前⽤户 (包括标签之间)但不能轻易地共享给其他⽤户 服务器端数据库:你想永久保存数据并且提供给多个⽤户的最好⽅法是数据库 (MongoDB 是 Meteor 应⽤默认的⽅案) Meteor 使⽤所有三种⽅式,有时会从⼀个地⽅同步数据到另⼀个地⽅ (我们会马上看 到) 话虽如此,数据库仍然是包含数据主副本的“规范化的”数据源 客户端与服务器 不在 client/ 或 server/ ⽂件夹中代码会在客户端和服务器端运⾏ 所以 Posts 集合在客户端和服务器端都可⽤ 但是,在各⾃环境下所起的作⽤有很⼤不同 在服务器,集合有⼀个任务就是和 Mongo 数据库联络,读取任何数据变化 在这种 情况下,它可以⽐对标准的数据库 在客户端,集合是⼀个安全拷贝来⾃于实时⼀致的数据⼦集 客户端的集合总是 (通 常)透明地实时更新数据⼦集 Console ,Console 与 Console 在这⼀章,我们开始使⽤浏览器控制台,不过不要和终端、Meteor Shell 或者 Mongo Shell 搞混了 现在对它们做个⽐对 终端命令 由操作系统启动 服务器端 console.log() 会输出到这⾥ 有 $ 提⽰符 通常也被成为外壳程序 S ell ,Bas 浏览器控制台 在浏览器内启动,执⾏ Javascript 代码 客户端的 console.log() 会

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档