Javascript 避免流星中收集的持久性
我刚刚开始研究在即将到来的项目中使用Meteor,并对数据持久性提出了一个问题。听起来您有两个选择:第一,在实例化一个新集合时,您可以声明一个“名称”,该集合将创建一个数据库集合,该数据库集合将在更改时保存Javascript 避免流星中收集的持久性,javascript,node.js,meteor,Javascript,Node.js,Meteor,我刚刚开始研究在即将到来的项目中使用Meteor,并对数据持久性提出了一个问题。听起来您有两个选择:第一,在实例化一个新集合时,您可以声明一个“名称”,该集合将创建一个数据库集合,该数据库集合将在更改时保存 Chatrooms = new Meteor.Collection("chatrooms"); 另一个选项是创建一个匿名集合,它不会被保存 Chatrooms = new Meteor.Collection(); 但是,如果我想从数据库中填充一个集合,但不想在客户端更改时保存它,该怎么办
Chatrooms = new Meteor.Collection("chatrooms");
另一个选项是创建一个匿名集合,它不会被保存
Chatrooms = new Meteor.Collection();
但是,如果我想从数据库中填充一个集合,但不想在客户端更改时保存它,该怎么办?例如,我可能想创建一个网格中显示的用户电影集合——每个电影都有自己的绝对位置,基于应用于集合的排序和过滤。对集合进行更改后,关联的视图(或模板)将重新呈现以反映这些更改。但我不一定要把这些绝对位置存储在数据库里
有什么想法吗?我不太清楚你的问题。但是,也许可以将绝对位置绑定到集合数据中?它们只是普通的javascript对象。收集数据只能通过函数调用来更改。我最后做了如下操作:
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'命令的情况下更容易遍历和修改它们 谢谢--我最后做了类似的事情,除了不在集合数据上,而是在从find查询返回的游标上。