Meteor:如何在启动时删除所有Mongo集合并清除所有数据?

jon*_*omo 5 mongodb meteor

我有一个Meteor应用程序,它在启动时从JSON API配置自己.为了正确协调所有客户端,它构建了几个Mongo集合并在其中存储数据,然后客户也订阅这些数据.但是,如果重新启动Meteor应用程序,我希望它擦除数据库干净并从头开始重新配置.

每次重新启动服务器代码时,如何让Meteor丢弃所有数据并从干净的平板开始?

sai*_*unt 6

你考虑过使用Meteor.startup服务器端吗?

它允许您注册每次(重新)启动服务器时将执行的回调.

然后你可以用MyCollection.remove({})里面消灭一切.

以下代码清除每个全新注册的Meteor.Collection(即使用MyCollection=new Meteor.Collection("collection-name"))每个新的开始:

Meteor.startup(function(){
    var globalObject=Meteor.isClient?window:global;
    for(var property in globalObject){
        var object=globalObject[property];
        if(object instanceof Meteor.Collection){
            object.remove({});
        }
    }
});
Run Code Online (Sandbox Code Playgroud)