Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取当前用户';流星的用户名_Javascript_Meteor - Fatal编程技术网

Javascript 如何获取当前用户';流星的用户名

Javascript 如何获取当前用户';流星的用户名,javascript,meteor,Javascript,Meteor,到目前为止,我一直在寻找互联网和流星文件,但没有任何工作为我 我正在使用创建一个帐户 Accounts.createUser({ username: username, email: email, password: password }); 我知道这是有效的,因为{{{if currentUser}}是有效的 但是,我正在尝试使用以下内容获取当前登录用户的用户名: var username = Meteor.userId(); console.log(username

到目前为止,我一直在寻找互联网和流星文件,但没有任何工作为我

我正在使用创建一个帐户

Accounts.createUser({
    username: username,
    email: email,
    password: password
});
我知道这是有效的,因为
{{{if currentUser}}
是有效的

但是,我正在尝试使用以下内容获取当前登录用户的用户名:

var username = Meteor.userId();
console.log(username);

var username = Meteor.userId().username;
console.log(username);
但两者都不起作用,当我使用Meteor.userId()时,我只会得到一个随机的(我猜是加密的)数字和字母字符串,当我使用Meteor.userId().username时,它会说它是未定义的

欢迎所有帮助,并为我可能糟糕的语法感到抱歉,这里已经很晚了

Meteor.userId()
从集合中返回用户的_id。这就是为什么它看起来像一个毫无意义的字符串


你想要的。你最好的朋友:)

我认为Accounts.createUser->username将只设置Meteor.user().profile.name。如果您想要Meteor.user().username,您可能还应该使用Accounts.onCreateUser()并添加用户名字段,如:

Accounts.onCreateUser(function (options, user) {

    user.username = user.profile.name;

    return user;

});

这是因为Meteor.user().username在本例中是一个自定义字段。

尝试使用
{{currentUser.username}
添加到客户端js

Accounts.ui.config({ passwordSignupFields: 'USERNAME_AND_EMAIL' }); Accounts.ui.config({ passwordSignupFields:“用户名和电子邮件” });
您必须在.js文件中使用
用户名:Meteor.user()

在html文件中使用
{{username.profile.name}

我这样做:

  • 包括帐户包:meteor添加帐户密码
  • 从“Meteor/Meteor”导入{Meteor}
  • console.log('Username:'+Meteor.user().Username) 用户需要登录,否则Meteor.User()返回null

    编辑:还要记住Meteor.user()将在用户集合发送到客户端之前不可用

    Meteor.userId();
    
    上面的代码返回一个字符串,该字符串是已登录用户Meteor.userId()的唯一ID,而不是整个用户对象。因此,您不能尝试删除任何属性。 要使用当前用户名,请执行以下操作: 1-/英寸流星控制器

    var uniqueID = Meteor.userId(); 
    var username = Meteor.users.findOne({_id: uniqueID}).usename;
    
    2-/In流星模板

    {{ currentUser.username }}
    
    一应俱全

     Meteor.users.findOne({ _id: Meteor.userId() }).username
    

    然后您可以将值返回变量、状态或会话..等等

    对不起,我忘了提到我已经尝试过了。它以未定义的形式返回。说明:仅“Meteor.user()”返回对象{u id:“2zwqot7wwhnxewjy”,email:Array[1]}。但是“Meteor.user().username”返回时未定义。您的登录提供商是否设置了用户名<代码>帐户密码没有,Twitter有。我在OP中提到了我使用的用户名。“Accounts.createUser”有一个我使用的用户名选项。这对我不适用。as
    console.log(Meteor.userId(),Meteor.user())输出未定义的wN9vCjAAQ6S9YB7Ad
    。我已经使用了此代码,现在显示我的用户名。但当我使用下面的代码时,它不会显示电子邮件地址。那是{currentUser.email}我是用用户名登录的,不是用户名显示的电子邮件,而是显示的电子邮件。@Pritesh与其他人共享代码。他们帮助您这是正确的版本,如果您使用的是OAuth(例如Facebook或Google登录)!有关更多信息,请参阅。Thx,非常有用。这就是我想要的。