1

有可能勾搭meteor reset吗?我想在运行此命令时删除所有用户上传。

4

1 回答 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 回答