为什么以管理员身份登录时,管理员电子邮件和 meteor.user().email 不相等?

Why are the admin email and meteor.user().email not equal when logged in as admin?

目前应该先检查用户是否有管理员邮箱才能post。相反,它不允许任何用户 post。我想我设置了 useremail 变量错误,因为它 returns 一个错误,管理员用户在以管理员身份登录时没有正确的电子邮件。为什么这不起作用,如何解决?

正在返回错误。

if (post.useremail!="admin@gmail.com")
  errors.useremail =  "Please sign into a admin account to post";

其中设置了useremail

 var post = _.extend(postAttributes, {
   useremail: user.email,
   author: user.username,
   submitted: new Date(),
   commentsCount: 0
 });

首次启动服务器时创建管理员用户的位置。

 Accounts.createUser({
     username: 'admin',
     email: 'admin@gmail.com',
     password: 'admin'
 });

我不确定这是否会解决您的所有问题,但这是一回事。如果你,我在这里假设,在创建 post 时通过 var user = Meteor.user(); 获取当前用户数据,user.email 将是 undefined(如果你不存储那里的电子邮件明确)。 console.log(user) 查看对象的外观。如果这是这里的问题,那么代码应该更像这样

useremail: user.emails[0].address

让我知道这是否是问题所在。