我需要在流星服务器方法之外使用Accounts.setPassword,但是在服务器端。在这种情况下使用集合我使用光纤包装器但它不适用于Accounts.setPassword。
Fiber(function(){Accounts.setPassword(msg.user_id, msg.password);}).run();
答案 0 :(得分:0)
我只是测试了它而且简单
if (Meteor.isServer) {
Meteor.startup(function () {
Accounts.setPassword("Jp2G9TJLHwqagQmMr", "654321")
});
}
在服务器端工作得很好。但是,如果您在回调中传递函数(作为事件处理程序),那么不要忘记将其包装到Meteor.bindEnvironment
中:
something.on('event',
Meteor.bindEnvironment(function(){
Accounts.setPassword(msg.user_id, msg.password);
},
function (err) {
console.log('failed to bind env: ', err);
})
);