【问题标题】:avoiding persistence on Collection in Meteor避免在 Meteor 中对 Collection 的持久性
【发布时间】:2012-08-23 12:57:22
【问题描述】:

我刚刚开始考虑将 Meteor 用于即将进行的项目,并且对数据持久性有疑问。听起来您有两个选择:首先,您可以在实例化一个新集合时声明一个“名称”,这将创建一个数据库集合,该集合将在更改时保存。

Chatrooms = new Meteor.Collection("chatrooms");

另一种选择是创建一个不会保存的匿名集合。

Chatrooms = new Meteor.Collection();

但是,如果我想从数据库中填充一个集合,但在客户端更改时不保存它,我该怎么办?例如,我可能想要创建将在网格中显示的用户电影集合——每个电影都有自己的绝对定位,基于应用于集合的排序和过滤。对集合进行更改后,将重新渲染关联的视图(或模板)以反映这些更改。但我不一定希望将这些绝对位置存储在数据库中...

有什么想法吗?

【问题讨论】:

    标签: javascript node.js meteor


    【解决方案1】:

    我不是很清楚你的问题。但也许,您可以将绝对位置绑定到集合数据中?它们只是普通的 javascript 对象。而采集数据只能通过insert/update/remove函数调用来改变。

    【讨论】:

    • 谢谢——我最终做了这样的事情,除了不是在集合数据上,而是在从查找查询返回的光标上。
    【解决方案2】:

    我最终做了这样的事情:

    movies: function() {
      var movies =  Movies.find().fetch();
      _.each(movies, function(movie, index){
        movie.left = index * 2;
        movie.top = index * 2; 
      });
      return movies; 
    },
    

    基本上,'fetch()' 允许我处理纯 JSON 对象,从而更容易迭代它们并更改它们,而无需执行 'update' 命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 2019-08-29
      • 2013-02-16
      • 1970-01-01
      • 2015-07-19
      相关资源
      最近更新 更多