2016-09-21 44 views
0

此流星应用需要将当前登录的用户标识更改为用户集合中不同的唯一标识。用户集合中的流星更改用户标识

当前代码更改客户端上的userId,如浏览器控制台所示,但不会更改用户集合中的userId,如 mongo-shell所示。
任何想法我需要做什么来改变_id在当前登录用户的用户集合中的值? thx

//----client.js 
Meteor.call('changeUserId', myUniqueUserId,() => { 
    Meteor.connection.setUserId(myUniqueUserId); 

}); 

//----server.js 
'changeUserId': (myUniqueUserId) => { 
    this.setUserId(myUniqueUserId); 
    return true; 
}, 

回答

-1

用户是一个集合。

你可以操纵它作为一个定期收集,所以无论是:

  • 做一个Meteor.users.update(Meteor.userId(), {$set:{_id:<newid>}});集合更新权限正确假设你设置的用户集合。
  • 制作您从执行更新的客户端调用的Meteor.method。
+0

我会在我发布的服务器方法中执行此操作,但会在调用'this.serUserId(myUniqueUserId);'之前还是之后执行此操作? –

+0

我会这样做,但我不确定。其实setUserId没有很好的记录...对不起,你将不得不测试。 – ATX