Roc*_*ong 8 session server-side client-side meteor
在Meteor中,我对Session和Local Collection有点混淆.
我知道Session是一个临时的反应键值存储,仅限客户端,并在页面刷新时清除.本地集合似乎是相同的:被动,临时客户端存储,在页面刷新时清理,具有更灵活的功能,如插入,更新和删除查询,如服务器端Mongo集合.
所以我想我可以在没有Session的Local Collection中管理所有内容,或者在没有Local Collection的Session中管理所有内容.
但是,使用Session和/或Local集合的最佳和有效方法是什么?简单地说,何时使用Session而不使用它?何时使用本地收藏而何时不使用?
当我读到你的问题时,我告诉自己这是一个非常简单的问题,但后来我一直在挠头.我试图找出一个你可以用会话或集合完成的例子.但我没有找到任何用例.所以让我们从开始汇总一些事情.基本上你已经自己回答了这个问题,因为它是小糖,使收藏变得特别.
什么时候使用收藏品?
基本上,集合是数据库工件.想象一下,你有一个客户端 - 服务器应用程序.所有数据都保存在服务器端存储中.现在,您可以使用本地集合为用户提供服务器集合的一小部分.因此,客户端集合是具有减少的数据量的数据库.优点是您可以使用查询访问集合.您可以在服务器和客户端上使用相同的查询.另外,集合总是包含多个相同类型的对象.有时您在客户端上为客户端生成数据.无需服务器交互.比你可以使用本地收藏.本地集合提供与没有服务器通信的普通集合相同的功能.如果您有多个具有相同结构的对象,则应使用此选项,如果您要使用查询运算符,则应使用此对象.
您还可以将数据保存在会话对象中.会话对象也可以包含多个对象.但是想要在一个用特殊id索引的objectarray中找到一个对象.比你需要迭代抛出整个数组才能找到这个对象.你必须编写额外的逻辑,可以像魔术一样处理.此外,集合返回游标.游标是一个反应对象,只有在所选数据发生变化时才会发生变化.这意味着如果你使用带有id的find.比此对象只是在此id的对象发生更改时才会重新呈现.随着会话,你不能.会话更改时,您需要重新呈现所有依赖对象.
什么时候使用会话?
其他一切.会话通常只是包含一些配置逻辑的小对象.它基本上只是一个对象,而不是相同对象的多次出现.现在没有时间详细介绍,但如果它不适合收集用例,您可以使用会话.
看一下这篇文章,它描述了为什么不应该过度使用会话.
| 归档时间: |
|
| 查看次数: |
2487 次 |
| 最近记录: |