有可能勾搭meteor reset
吗?我想在运行此命令时删除所有用户上传。
问问题
614 次
1 回答
1
请记住,它meteor reset
在已部署的应用程序中不可用,认为这不是 100% 肯定的。
虽然你不能在不修改meteor.js的情况下直接连接到它,但重置功能非常简单,你可以用不同的方式模仿它:
方法一
所有流星重置所做的就是删除yourproject/.meteor/local
您可以使用 bash 脚本执行此操作的所有文件,或者创建另一个执行相同操作的节点 js 文件:
流星重置功能的来源(如果您决定在节点中制作):
var local_dir = path.join(app_dir, '.meteor', 'local');
files.rm_recursive(local_dir);
方法二
此方法将在生产模式下工作。看到流星重置只是清除数据库,您可以手动执行(而流星也在运行!):
服务器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 以添加您想要的功能。然而,更新将破坏钩子。
于 2013-02-11T11:18:46.487 回答