了解新的Meteor.Collection

时间:2014-09-22 16:58:44

标签: meteor

我试图在书中跟随学习流星。我遇到的问题是他在书中使用控制台将数据插入集合中。因为我使用的是Windows,所以我需要在VPS上运行。

所以当我把这个.js文件放在一起时;

PlayersList = new Meteor.Collection('players');

PlayersList.insert ({
name: 'David',
score: 0,
name: 'Bob',
score: 0,
name: 'Mary',
score: 0,
name: 'Bill',
score: 0,
name: 'Warren',
score: 0,
name: 'Tim',
score: 0
});

现在每当我改变一些东西,我就会得到越来越多的玩家。所以它似乎并没有真正创建一个新的集合,而是不断添加到现有的集合。我如何设置它以便我可以保持与书籍相同的页面?

1 个答案:

答案 0 :(得分:1)

问题是每次重新启动应用程序时都会重新执行插入代码。

您只需在服务器上插入一次测试数据,如下所示:

server/startup.js

Meteor.startup(function(){
  // always start from scratch with clean test data, remove this line when
  // debugging is done to stop clearing collection data after every server restart
  PlayersList.remove({});
  if(PlayersList.find().count()===0){
    // insertion code goes here
    var playersNames=["David","Bob",...];
    _.each(playersNames,function(playerName){
      PlayersList.insert({
        name:playerName,
        score:0
      });
    });
  }
});