2012-08-22 67 views
0

我刚开始研究使用流星即将发布的项目,并有一个关于数据持久性的问题。这听起来像你有两个选择:首先,你可以在实例化一个新的Collection时声明一个“名字”,这个新的Collection将会创建一个数据库集合,这个集合将在修改时被保存。避免在流星收集持久性

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

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

Chatrooms = new Meteor.Collection(); 

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

任何想法?

回答

0

我落得这样做是这样的:“)获取(”

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

基本上,让我来处理纯JSON对象,使其更容易遍历它们并改变它们而不执行“更新”命令。

1

我不是很清楚你的问题。但也许,你可以将绝对位置绑定到收集数据中?他们只是正常的JavaScript对象。收集数据只能通过insert/update/remove函数调用进行更改。

+0

谢谢 - 我最终做了这样的事情,除了不在集合数据上,而是在从find查询返回的游标上。 – bento