1
是否有可能挂钩到meteor reset
?我想在运行此命令时删除所有用户上传。挂钩流星重置
是否有可能挂钩到meteor reset
?我想在运行此命令时删除所有用户上传。挂钩流星重置
请记住,meteor reset
将不会在部署的应用程序中可用,认为这不应该100%确定。
虽然不能直接挂接到它,而无需修改meteor.js复位功能是非常简单的,你可以模仿它以不同的方式:
方法1
所有流星reset不将yourproject/.meteor/local
中的所有文件删除,您可以使用bash脚本来做到这一点,或者制作另一个节点js文件,它也会这样做:
流星重置功能的来源(如果您决定在节点中):
var local_dir = path.join(app_dir, '.meteor', 'local');
files.rm_recursive(local_dir);
方法2
此方法将在生产模式工作。眼看如流星复位刚刚清除你可能只是做手工数据库(而流星runnining呢!):
服务器JS
Meteor.methods({
resetme: function(password) {
var require = meteor_bootstrap.require;
var path = require('path');
if(password=="1234") {
Collection1.remove({});
Collection2.remove({});
Collection3.remove({});
var local_dir = path.join(app_dir, 'yourfiledirectory');
//recursively delete your files in local_dir
return true;
}
else
{
return false;
}
}
});
客户端(如果你想)
Meteor.call("resetme", "1234", function(err,result) { if(err) { console.log("Error resetting"); } else { if(result) {console.log("Reset complete")}});
方法3(更多的钩子)
你可以绑定你的应用程序并编辑meteor.js来添加你想要的功能。然而,更新将会破坏钩子。