0

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

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

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

Chatrooms = new Meteor.Collection();

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

有任何想法吗?

4

2 回答 2

1

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

于 2012-08-23T03:26:23.140 回答
0

我最终做了这样的事情:

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' 命令。

于 2012-08-23T04:57:22.393 回答