Meteor:在创建帐户时插入具有唯一ID的对象

时间:2014-10-22 15:26:52

标签: meteor

创建用户帐户后,我想插入'摘要。用户个人资料中的'newsInterest'对象具有唯一的'_id'值和'text'字段

summary: // _id: must have unique when account is created
            text: 
newsInterest: // id:
                 text:

这样我就可以使用会话变量来更新keyup上的'text'值,具体取决于用户输入的输入区域。所以我需要'summary'和'newsInterest'_id:在用户创建帐户后立即可用。

我的帐户创建代码如下。

Template.join.events({
'submit #join-form': function(e,t){
e.preventDefault();
  var firstName=  t.find('#join-firstName').value,
  lastName=  t.find('#join-lastName').value,
  email = t.find('#join-email').value,
  password = t.find('#join-password').value,
  username = firstName + '.' + lastName,
  profile = {
    name: firstName + ' ' + lastName
  };
  Accounts.createUser({
    email: email,
    username: username,
    password: password,
    profile: profile
}, function(error) {
if (error) {
  alert(error);
} else {
  Router.go('home');
}
});
}
});

1 个答案:

答案 0 :(得分:1)

保持客户端createUser功能不变,但在服务器上创建用户时将其他对象附加到配置文件。这段代码应该这样做:

Accounts.onCreateUser(function(options, user) {
  profile = options.profile;
  profile.summary = {
    _id: Random.id(),
    content: ''
  };
  profile.newsInterest = {
    _id: Random.id(),
    content: ''
  };

  user.profile = profile;

  return user;
});

要使用Random.id,您需要安装随机包:meteor add random