Meteor - 重置数据库并创建init脚本

1 mongodb meteor

我们正在开发一个Meteor应用程序,我们需要在创建后在Mongo数据库中随时提供一些数据.

例如,我们有一个蒙戈集合命名Users,我们要开始与两个用户(说JohnSusan).我们不想手动执行此操作,因此在Mongo重置之后,如果这些数据由于脚本而自动添加到应用程序的Mongo数据库中将会很棒.

实现这一目标的最佳和"最完美"的方法是什么?

Kyl*_*yll 5

第一个,简单而且天真的解决方案是使用一些启动脚本,例如/dev/init_data.js:

Meteor.startup(function() {
  if(typeof someCollection.findOne() === 'undefined') {
    someCollection.insert(...);
  }
});
Run Code Online (Sandbox Code Playgroud)

但这将进入部署...除非你在部署之前手动(呃)擦除/dev文件夹或做一些其他丑陋的技巧以使代码处于非活动状态.我们根本不希望部署此代码.
所以让我们使用调试吧!

meteor create --package devinitdata
Run Code Online (Sandbox Code Playgroud)

在你的新package.js文件中:

Package.describe({
  name: 'devinitdata',
  ...
  debugOnly : true //!
});
Run Code Online (Sandbox Code Playgroud)

您只需在包文件中编写初始化代码,即可使用各种混乱数据填充您的集合.