创建的用户帐户未显示在浏览器控制台中

时间:2016-03-22 22:00:42

标签: meteor

此Meteor应用程序使用帐户密码包和删除了自动发布包的自定义登录表单,在服务器上使用Accounts.createUser创建用户帐户。

即使在meteor mongo终端中创建并验证了db.users.find({}).pretty()用户,浏览器控制台中的此命令Meteor.users.find().fetch()也会提供一个空数组[]

修改
浏览器控制台中的Meteor.user()会返回null

编辑2
触发Accouts.createUser的步骤如下:
模板按钮事件调用方法A,在服务器上它将用户名和密码存储在全局对象中,然后调用方法B,然后调用服务器端函数,该函数使用全局对象中的用户名和密码调用Acounts.createUser

server.js

Meteor.publish('users', function () {
  if (this.userId) {
    return Meteor.users.find({_id: this.userId});
  }
});

client.js

Meteor.subscribe('users');  

这是正常的吗?如果是这样,流星如何知道哪个浏览器“会话”属于哪个客户端?感谢

1 个答案:

答案 0 :(得分:0)

查看Accounts.createUser的文档:

  

在客户端上,此功能在成功完成时以新创建的用户身份登录。在服务器上,它返回新创建的用户ID。

因此,如果您只从服务器创建用户,则用户将不会自动登录。如果用户未登录,则不会发布他/她的用户文档。

您有两种选择:

  1. 从客户端拨打Accounts.createUser
  2. 要求用户在服务器上创建帐户后登录。