创建用户帐户后,我想插入'摘要。用户个人资料中的'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');
}
});
}
});
答案 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